OGC定义的几何要素
OGC定义了两种描述几何对象的格式,分别是WKB(Well-Known Binary)和WKT(Well-Known Text)。 在SQL语句中,用以下的方式可以使用WKT格式定义几何对象:
几何类型 WKT格式
点 POINT(0 0)
线 LINESTRING(0 0,1 1,1 2)
面 POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))
多点 MULTIPOINT(0 0,1 2)
多线 MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))
多面 MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))
几何集合 GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2 3,3 4)))
本文通过实例演示几何对象的定义。
1.建表
CREATE TABLE postgis2d (
id SERIAL PRIMARY KEY,
name VARCHAR(128),
geom GEOMETRY
);
2.添加GIST索引
CREATE INDEX postgis2d_gix ON postgis2d USING GIST (geom);
3.插入数据
3.1 点(POINT)
INSERT INTO postgis2d (name, geom) VALUES ('p1',
ST_GeomFromText('POINT(0 0)', 26910)
);
INSERT INTO postgis2d (name,geom) VALUES ('p2',
ST_GeomFromText('POINT(5 0)', 26910)
);
INSERT INTO postgis2d (name,geom) VALUES ('p3',
ST_GeomFromText('POINT(0 10)', 26910)
);
或使用多点(MULTIPOINT)
INSERT INTO postgis2d (name,geom) VALUES ('p3',
ST_GeomFromText('MULTIPOINT((0 0),(5 0),(0 10))', 26910)
);
QGIS中显示几何如下:
3.2 线(LINESTRING)
INSERT INTO postgis2d (name, geom) VALUES ('L1',
ST_GeomFromText('LINESTRING(0 0,1 1,1 2)', 26910)
);
INSERT INTO postgis2d (name, geom) VALUES ('L2',
ST_GeomFromText('LINESTRING(1 0,2 1,2 2)', 26910)
);
或使用多线(MULTILINESTRING)
INSERT INTO postgis2d (name, geom) VALUES ('L1',
ST_GeomFromText('MULTILINESTRING((0 0,1 1,1 2),(1 0,2 1,2 2))', 26910)
);
QGIS中显示几何如下:
3.3 多边形(POLYGON)
INSERT INTO postgis2d (name, geom) VALUES ('p1',
ST_GeomFromText('POLYGON((4 0,8 0,8 4,4 0))', 26910)
);
INSERT INTO postgis2d (name, geom) VALUES ('p2',
ST_GeomFromText('POLYGON((1 1, 2 1, 2 2, 1 2,1 1))', 26910)
);
或使用多边形集合(MULTIPOLYGON)
INSERT INTO postgis2d (name, geom) VALUES ('p2',
ST_GeomFromText('MULTIPOLYGON(((4 0,8 0,8 4,4 0),(1 1, 2 1, 2 2, 1 2,1 1)))', 26910)
);
QGIS中显示几何如下:
3.4 几何集合
INSERT INTO postgis2d (name, geom) VALUES ('c1',
ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((4 0,8 0,8 4,4 0)),LINESTRING(2 3,3 4))',26910)
);
OGC定义的几何要素的更多相关文章
- OGC 的WCS WFS 及WMS 服务
OGC--Open Geospatial Consortium--开放地理信息联盟,是一个非盈利的志愿的国际标准化组织,引领着空间地理信息标准及定位基本服务的发展目前在空间数据互操作领域,基于公共接口 ...
- OGC 的 WMS、WFS 及WCS服务(转)
OGC——Open Geospatial Consortium——开放地理信息联盟,是一个非盈利的志愿的国际标准化组织,引领着空间地理信息标准及定位基本服务的发展目前在空间数据互操作领域,基于公共接口 ...
- Arcgis 几何网络分析
ArcGIS:网络分析(转) 由于之前对网络分析的理解有很多问题,所以在网上找了一些资料,这是其中一篇我觉得比较好的,所以就整理了一下,发到网上来,留个底吧,呵呵 注:关于几何网络的建立见前面的& ...
- 如何创建一个要素数据类 IField,IFieldEdit,IFields,IFieldsEditI,GeometryDef,IGeometryDefEdit接口
如何创建一个要素数据类 创建要素类用到了IFeatureWorkspace.CreateFeatureClass方法,在这个方法中有众多的参数,为了满足这些参数,我们要学习和了解下面的接口. IFie ...
- Qt+QGis二次开发:创建临时图层并添加要素
开发环境:Win10 + VS2010 + Qt 4.8.6 + QGis 2.14.4 其实本文实现的功能类似于QGis中“添加文本数据图层”的一个简化版,本文不会涉及到对话框的使用,不通过与用户互 ...
- QGis C++ 开发之创建临时图层并添加要素
开发环境:Win10 + VS2010 + Qt 4.8.6 + QGis 2.14.4 其实本文实现的功能类似于QGis中“添加文本数据图层”的一个简化版,本文不会涉及到对话框的使用 ...
- Direct2D教程III——几何(Geometry)对象
目前博客园中成系列的Direct2D的教程有 1.万一的 Direct2D 系列,用的是Delphi 2009 2.zdd的 Direct2D 系列,用的是VS中的C++ 3.本文所在的 Direct ...
- ArcEngine开发各种几何错误代码
E_GEOMETRY_AMBIGUOUSPARTTYPE - Static variable in interface com.esri.arcgis.geometry.esriGeometryErr ...
- 利用IIdentify接口实现点选和矩形选择要素
duckweeds 原文利用IIdentify接口实现点选和矩形选择要素 Identify接口定义了获得要素图层单个要素的属性的捷径方法.它有一个Identify方法,返回一个IArray数组对象. ...
随机推荐
- svn忘记密码怎么办?如何获取svn账号和密码?
SVN作为一种开放源代码的集中式版本控制系统,一直以来都深受所有公司的喜爱.伴随着它使用范围的广泛,一系列问题也随之接踵而至. 我们今天就来谈谈比较常见的但一般除了一个人干着急没办法解决的问题,那就是 ...
- PAT-2019年冬季考试-乙级(题解)
很荣幸这次能够参加乙级考试,和大佬们同台竞技了一次,这篇博客,进行介绍这次2019冬季的乙级考试题解. 7-1 2019数列 (15分) 把 2019 各个数位上的数字 2.0.1.9 作为一个数列的 ...
- 隐藏按钮button
<td> <input id="del" type="button" value="删除" onclick="u ...
- python_面向对象——动态创建类和isinstance和issubclass方法
# 给动态生产的类定义一个方法 def __init__(self,name): self.name = name print(self.name) def take(self,obj): print ...
- PHP——最新号码归属地数据库
前言 最近在忙的一个项目,为了数据安全,不能够使用任何第三方的接口~ 号码库 | https://github.com/wangyang0210/Phone-Number-Range 代码 其实就是一 ...
- 更改intellij高亮字体背景颜色
intellij工具中依次进入file -> settings -> editor -> colors & fonts -> general,在右侧窗口中将result ...
- 学习Spring-Data-Jpa(七)---JpaRepository
之前我们学习的Repository都是Spring-Data为了兼容NoSQL而进行的一些抽象封装,从JpaRepository开始是对关系型数据库进行抽象封装.JpaRepository位于spri ...
- centos6.5下安装docker的过程办法
转载:https://www.cnblogs.com/tymagic/p/10794477.html 在看了网上N多复制粘贴的文章,又尝试无效后,我把我最终成功的办法发出来,希望能帮到拼命干环境的你. ...
- 1.7volatile关键字
volatile volatile关键字的主要作用是使变量在多个线程间可见 使用方法: private volatile int number=0; 图示: 两个线程t1和t2共享一份数据,int a ...
- Ubuntu 下面手动安装 Redis
1.下载 wget http://download.redis.io/releases/redis-2.8.17.tar.gz .tar.gz cd redis- make 2.复制文件到bin目录 ...