版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PostGIS简介及查询语言特性姓名:wujinbxxxPostGIS简介PostGIS特性PostGIS读写数据PostGIS查询语言PostGIS函数PostGIS扩展函数1986年,加州大学伯克利分校的MichaelStonebraker教授领导了Postgres的项目,它是PostgreSQL的前身。随后出现了PostGIS,PostGIS是对象-关系型数据库系统PostgreSQL的一个扩展,它的出现让人们开始重视基于数据库管理系统的空间扩展方式,而且使PostGIS有望成为今后管理空间数据的主流技术。在两大开源数据库产品的对比中,一般认为MySQL速度更快,所以得到更为广泛的使用;而PostgreSQL性能更为先进,PostgreSQL提供很多MySQL目前所不支持的特性,比如触发器、视图、存储过程等等,在记录数超千万之后性能表现尤其出色。1.PostGIS简介PostGIS是对象关系型数据库系统PostgreSQL的一个扩展。PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。PostGIS遵循OpenGIS的规范。PostGIS的版权被纳入到GNU的GPL中,任何人可以自由得到PostGIS的源码并对其做研究和改进。1.PostGIS简介支持OpenGIS中所有空间数据类型:
点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点(MULTIPOINT)、多线(MULTILINESTRING)、多多边形(MULTIPOLYGON)和集合对象集(GEOMETRYCOLLECTION)等。PostGIS支持所有的对象表达方法,比如WKT和WKB。2.PostGIS特性OpenGIS简单要素规范的
SQL,Revision1.1ExamplesofWKT:POINT(00)——点LINESTRING(00,11,12)——线POLYGON((00,40,44,04,00),(11,21,22,12,11))——面MULTIPOINT(00,12)——多点MULTILINESTRING((00,11,12),(23,32,54))——多线MULTIPOLYGON(((00,40,44,04,00),(11,21,22,12,11)),((-1-1,-1-2,-2-2,-2-1,-1-1)))——多面GEOMETRYCOLLECTION(POINT(23),LINESTRING((23,34)))——几何集合OGC定义的空间数据类型WTKEWKT、EWKB和Canonical格式EWKT和EWKB相比OGCWKT和WKB格式主要的扩展有3DZ、3DM、4D坐标和内嵌空间参考支持。以下以EWKT语句定义了一些几何对象:POINT(000)——3D点SRID=32632;POINT(00)——内嵌空间参考的点POINTM(000)——带M值的点POINT(0000)——带M值的3D点SRID=4326;MULTIPOINTM(000,121)——内嵌空间参考的带M值的多点以下语句可以使用EWKT格式插入一个点要素到一个表中:INSERTINTOtable(SHAPE,NAME)VALUES(GeomFromEWKT('SRID=4326;POINTM(116.3939.910)'),'北京')Canonical格式是16进制编码的几何对象,直接用SQL语句查询出来的就是这种格式。2.PostGIS特性SQL-MM格式:SQL-MM格式定义了一些插值曲线,这些插值曲线和EWKT有点类似,也支持3DZ、3DM、4D坐标,但是不支持嵌入空间参考。以下以SQL-MM语句定义了一些插值几何对象:CIRCULARSTRING(00,11,10)——插值圆弧COMPOUNDCURVE(CIRCULARSTRING(00,11,10),(10,01))——插值复合曲线CURVEPOLYGON(CIRCULARSTRING(00,40,44,04,00),(11,33,31,11))——曲线多边形MULTICURVE((00,55),CIRCULARSTRING(40,44,84))——多曲线MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(00,40,44,04,00),(11,33,31,11)),((1010,1412,1110,1010),(1111,11.511,1111.5,1111)))——多曲面2.PostGIS特性读写PostGIS目前主要有以下四种方式:1.
使用psql语言select*fromtest1;selectmyID,AsText(pt)fromtest1;selectDistance(pt,'POINT(00)')fromtest1;2.使用一些小工具
有两个小的转换工具,一是shp2pg;一是ogr2ogr。3.在其他GIS软件中读写PostGIS数据比如在QGIS中,能够打开PostGIS图层,还有SPIT插件可以把Shape文件输入到PostGIS数据库中。4.利用接口在应用程序中读写PostGIS数据3.PostGIS读写数据表的建立CreatingaSpatialTable
在PostGIS中创建一个包含几何字段的空间表分为2步:第一步创建一个一般表,第二步给这个表添加几何字段。在test模式下创建一个名为cities的一般表:createtabletest.cities(idint4,namevarchar(20))再给cities添加一个名为shape的几何字段(二维点):selectAddGeometryColumn('test','cities','shape',4326,'POINT',2)4.PostGIS查询语言LoadingGISData4.PostGIS查询语言4.PostGIS查询语言RetrievingGISData4.PostGIS查询语言PostGIS中的空间索引
数据库对多维数据的存取有两种索引方案,R-Tree和GiST(GeneralizedSearchTree),在PostgreSQL中的GiST比R-Tree的健壮性更好,因此PostGIS对空间数据的索引一般采用GiST实现。以下的语句给sde模式中的cities表添加了一个空间索引shape_index_cities,在pgAdmin中也可以通过图形界面完成相同的功能。CREATEINDEXshape_index_citiesONsde.citiesUSINGgist(shape);另外要注意的是,空间索引只有在进行基于边界范围的查询时才起作用,比如“&&”操作。4.PostGIS查询语言ExamplesofSpatialSQL:1.Whatisthetotallengthofallroads,expressedinkilometers?4.PostGIS查询语言SELECTsum(ST_Length(the_geom))/1000ASkm_roadsFROMbc_roads;km_roads------------------70842.1243039643(1row)ExamplesofSpatialSQL:2.Howlargeisthecityofxxx,inhectares?4.PostGIS查询语言SELECTST_Area(the_geom)/10000AShectaresFROMbc_municipalityWHEREname=’xxx’;hectares------------------32657.9103824927(1row)PostGIS函数大致可以分为以下四类:字段处理函数AddGeometryColumn为已有的数据表增加一个地理几何数据字段;DropGeometryColumn删除一个地理数据字段的;SetSRID设置SRID值Probe_Geometry_Columns()检查数据库几何字段并在geometry_columns中归档5.PostGIS函数PostGIS函数大致可以分为以下四类:几何关系函数目前共有13个,分别是:5.PostGIS函数获取两个几何对象间的距离ST_Distance()判断两个几何对象是否相等ST_Equals()判断两个几何对象是否分离ST_Disjoint()判断两个几何对象是否相交ST_Intersects()判断两个几何对象的边缘是否接触ST_Touches()判断两个几何对象是否互相穿过ST_Crosses()判断A是否被B包含ST_Within()判断两个几何对象是否是重叠ST_Overlaps()判断A是否包含BST_Contains()判断A是否覆盖BST_Covers()判断A是否被B所覆盖ST_CoveredBy()通过DE-9IM矩阵判断两个几何对象
的关系是否成立ST_Relate()获得两个几何对象的关系(DE-9IM矩阵)ST_Relate()PostGIS函数大致可以分为以下四类:几何分析函数这类函数目前共有12个,分别是:Centroid,Area,Lenth,PointOnSurface,Boundary,Buffer,ConvexHull,Intersection,SymDifference,Difference,GeomUnion,MemGeomUnion读写函数这类函数很多,主要是用于在各种数据类型之间的转换,尤其是在于Geometry数据类型与其他如字符型等数据类型之间的转换,函数名如AsText、GeomFromText等。5.PostGIS函数管理函数:删除一个空间表(包括geometry_columns中的记录)DropGeometryTable([],)更新空间表的空间参考UpdateGeometrySRID([],,,)更新空间表的统计信息update_geometry_stats([,])几何对象创建:Dump:转储ST_GeomFromEWKT(text)ST_GeomFromEWKB(bytea)ST_MakePoint(,,[],[])ST_MakePointM(,,)ST_MakeBox2D(,)6.PostGIS扩展函数几何对象编辑:给几何对象添加一个边界,会使查询速度加快ST_AddBBOX(geometry)删除几何对象的边界ST_DropBBOX(geometry)添加、删除、设置点ST_AddPoint(linestring,point,[])线性参考:根据location(0-1)获得该位置的点ST_line_interpolate_point(linestring,location)获取一段线ST_line_substring(linestri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灌肠器市场需求与消费特点分析
- 2024年度写字办公楼物业管理框架合同
- 自行车专用马鞍包市场需求与消费特点分析
- 2024年度出国派遣务工人员住宿安排合同
- 照明设备市场需求与消费特点分析
- 灯座市场发展现状调查及供需格局分析预测报告
- 2024年度版权质押合同的质押权利与质押期限
- 计量仪器市场发展预测和趋势分析
- 2024年度服装行业网络安全保障合同
- 软梯市场需求与消费特点分析
- 第20课 皮影戏(说课稿)2022-2023学年美术三年级上册
- 工学一体化教学参考工具体例格式9:学习任务工作页
- 小学综合实践活动-学做叶子标本教学设计学情分析教材分析课后反思
- 纤维支气管镜检查术护理查房
- 《老鼠娶亲》教学设计
- 学习大力弘扬教育家精神专题PPT
- 对虾与河蟹解剖课件
- 八年级上学期期中考试主题班会课件
- 放射科专科护理知识模考试题含答案
- 癌因性疲乏课件
- 中华人民共和国文物保护法学习课程PPT
评论
0/150
提交评论