当前位置:文档之家› 3空间数据库实验指导书-PostGIS的空间数据库操作

3空间数据库实验指导书-PostGIS的空间数据库操作

说明:-s设置坐标系统;F:\spatial\data\cities.shp指定数据源;public.cities目标表名称;–U用户名;–p密码;–d空间数据库名称。
方法
Step1:在开始菜单中,运行postgis 2.0下面的
Step2:点击 ,设置数据库连接;确定,如果成功,在前一界面上会出现“Connection succeeded.”的信息。
4
Select c1.city_nameFrom Cities C1, Rivers RWhere ST_Overlaps(C1.geom,ST_Buffer(R.geom,3000))
Select c1.city_nameFrom Cities C1,(Select geom from rivers where name='Alabama') as mWhere ST_Overlaps(C1.geom,ST_Buffer(m,3000))
2.SELECT name FROM shijie_region where ST_Within(ST_MakePoint(121.54, 38.91), geom)
3.SELECT shengjie_,shijie_ FROM shengjie_region ,shijie_region where ST_Within(ST_MakePoint(121.54, 38.91), shijie_region.geom) and ST_Within(ST_MakePoint(121.54, 38.91), shengjie_region.geom)
PostGIS的空间数据库操作
1
导出
方法
Step1:shp2pgsql -s 4326 F:\spatial\data\cities.shpcities>D:\cities.sql
说明:-s设置坐标系统;F:\spatial\data\cities.shp指定数据源;cities目标表名称。
Step2:运行postgres数据库;输入登录密码:admin进入数据库;选中postgis数据库
做一个点查询(查询州数据)ST_Within
点查询城市ST_Buffer、ST_Within
查询某一州包含的城市ST_Contains
查询面价大于XX的州有哪些ST_Area
查询州的名字(按照面积从大到小排序)ST_Area
条件查询空间数据,查询结果的空间数据,用文本显示ST_AsText
与某点距离小于XX的要素有哪些(点线面分别查询一次)ST_Distance、ST_MakePoint
Step3:选择export界面
Step3:点击 ;再点击 即可
3
字段处理函数
AddGeometryColumn为已有的数据表增加一个地理几何数据字段;
DropGeometryColumn删除一个地理数据字段的;
SetSRID设置SRID值
几何关系函数
这类函数目前共有10个,分别是:
Distance,Equals,Disjoint,Intersects,Touches Crosses,Within,Overlaps,Contains,Relate
Step3:点击 ,在对话框找到需要转入空间数据库的shp文件,open
Step4:点击 即可导入数据
Step5:如果数据中的字段存在汉字的话,可以点击 进行编码设置。
2
方法
pgsql2shp -fd:\shop_point.shp-h localhost -u postgres -Padmin postgispublic.cities
查询名字为XX的河流,流经哪些州ST_Crosses
将某个城市平移一定的距离ST_GeomFromText、ST_AsText
附件:常用的
1.SELECT shengjie_,shijie_ FROM shengjie_region ,shijie_region where shijie_region.provincena = shengjie_ and ST_Within(ST_MakePoint(121.54, 38.91), shengjie_region.geom)点查询某省份,并找到该省份的城市
说径;-h数据库的ip地址;–U用户名;–p密码;postgis空间数据库名称;public.cities空间数据库表的名称
方法
Step1:在开始菜单中,运行postgis 2.0下面的
Step2:点击 ,设置数据库连接;确定,如果成功,在前一界面上会出现“Connection succeeded.”的信息。
几何分析函数
这类函数目前共有12个,分别是:
Centroid,Area,Lenth,PointOnSurface,Boundary,Buffer,ConvexHull,Intersection,SymDifference,Difference,GeomUnion,MemGeomUnion
读写函数
这类函数很多,主要是用于在各种数据类型之间的转换,尤其是在于Geometry数据类型与其他如字符型等数据类型之间的转换,函数名如AsText、GeomFromText等。
Select c1.city_name From Cities C1, (Select ST_Buffer(geom,3000) as dd from rivers where name='Platte') as m Where ST_Overlaps(C1.geom,m.dd)=true
Select c1.city_name,ST_Overlaps(C1.geom,m.dd) From Cities C1, (Select ST_Buffer(geom,3000) as dd from rivers where name='Platte') as m
Step3:点击工具栏上的 ,弹出sql窗口
Step4:点击 ,找到刚才生成的SQL文件,打开,运行 即可。
方法
Step1:shp2pgsql -s 4326 F:\spatial\data\cities.shppublic.citiespsql -U postgres-p admin-dpostgis
相关主题