GIS基本概念
来源:互联网 发布:商品订单管理系统源码 编辑:程序博客网 时间:2024/06/16 00:36
GIS基本概念
简介
- WKT(Well-known text)是开放地理空间联盟OGC(Open GIS Consortium )制定的一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。
- WKB(well-known binary) 是WKT的二进制表示形式,解决了WKT表达方式冗余的问题,便于传输和在数据库中存储相同的信息
- GeoJSON 一种JSON格式的Feature信息输出格式,它便于被JavaScript等脚本语言处理,OpenLayers等地理库便是采用GeoJSON格式。此外,TopoJSON等更精简的扩展格式
几何对象
- WKT可以表示的对象包括以下几种:
- Point, MultiPoint
- LineString, MultiLineString
- Polygon, MultiPolygon
- GeometryCollection
- 可以由多种Geometry组成,如:GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)
示例:
Type
Shape
WKT
GeoJSON
Point
![](http://images2015.cnblogs.com/blog/756316/201601/756316-20160120105806000-70608107.png)
POINT (30 10)
{ "type": "Point", "coordinates": [30, 10] }
LineString
![](http://images2015.cnblogs.com/blog/756316/201601/756316-20160120105816187-796816973.png)
LINESTRING (30 10, 10 30, 40 40)
{ "type": "LineString", "coordinates": [ [30, 10], [10, 30], [40, 40] ] }
Polygon
![](http://images2015.cnblogs.com/blog/756316/201601/756316-20160120105841750-584019839.png)
POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
{ "type": "Polygon", "coordinates": [ [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]] ] }
![](http://images2015.cnblogs.com/blog/756316/201601/756316-20160120105851531-1295980091.png)
POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),
(20 30, 35 35, 30 20, 20 30))
{ "type": "Polygon", "coordinates": [ [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]], [[20, 30], [35, 35], [30, 20], [20, 30]] ] }
MultiPoint
![](http://images2015.cnblogs.com/blog/756316/201601/756316-20160120105938078-1525053158.png)
MULTIPOINT ((10 40), (40 30), (20 20), (30 10))
{ "type": "MultiPoint", "coordinates": [ [10, 40], [40, 30], [20, 20], [30, 10] ] }
MULTIPOINT (10 40, 40 30, 20 20, 30 10)
MultiLineString
![](http://images2015.cnblogs.com/blog/756316/201601/756316-20160120105944453-2096220500.png)
MULTILINESTRING ((10 10, 20 20, 10 40),
(40 40, 30 30, 40 20, 30 10))
{ "type": "MultiLineString", "coordinates": [ [[10, 10], [20, 20], [10, 40]], [[40, 40], [30, 30], [40, 20], [30, 10]] ] }
MultiPolygon
![](http://images2015.cnblogs.com/blog/756316/201601/756316-20160120105952187-1699089876.png)
MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)),
((15 5, 40 10, 10 20, 5 10, 15 5)))
{ "type": "MultiPolygon", "coordinates": [ [ [[30, 20], [45, 40], [10, 40], [30, 20]] ], [ [[15, 5], [40, 10], [10, 20], [5, 10], [15, 5]] ] ] }
![](http://images2015.cnblogs.com/blog/756316/201601/756316-20160120105958531-2054918008.png)
MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),
((20 35, 10 30, 10 10, 30 5, 45 20, 20 35),
(30 20, 20 15, 20 25, 30 20)))
{ "type": "MultiPolygon", "coordinates": [ [ [[40, 40], [20, 45], [45, 30], [40, 40]] ], [ [[20, 35], [10, 30], [10, 10], [30, 5], [45, 20], [20, 35]], [[30, 20], [20, 15], [20, 25], [30, 20]] ] ] }
WKB格式
WKB采用二进制进行存储,更方便于计算机处理,因此广泛运用于数据的传输与存储,以二位点Point(1 1)为例,
其WKB表达如下:
01 0100 0020 E6100000 000000000000F03F 000000000000F03F
- byteOrder
表示编码方式,00为使用big-endian编码(XDR),01为使用little-endian编码(NDR)。他们的不同仅限于在内存中放置字节的顺序,比如我们将0x1234abcd写入到以0×0000开始的内存中,则结果如下表:
Address
big-endian
little-endian
0×0000
0x12
0xcd
0×0001
0x34
0xab
0×0002
0xab
0x34
0×0003
0xcd
0x12
- webTypd
- 第二到第九字节对矢量数据基本信息进行了定义
第二与第三个字节规定了矢量数据的类型,如例子中的0100代表Point;
第三与第四个字节规定了矢量数据的维数,如例子中的0020代表该点是二位的;
- 第五到第九个字节规定了矢量数据的空间参考SRID,如例子中的E6100000是4326的整数十六位进制表达
- 第二到第九字节对矢量数据基本信息进行了定义
- srid
- 第五到第九个字节规定了矢量数据的空间参考SRID,如例子中的E6100000是4326的整数十六位进制表达
- structPoint
- 第十个字节开始,每16个字节就代表一个坐标对,如例子中的000000000000F03F是浮点型1的十六进制表达
- GIS基本概念
- GIS基本概念
- GIS基本概念
- GIS基本概念
- GIS基本概念
- GIS基本概念集锦
- 地理信息系统(GIS)基本概念
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- GIS基本概念集锦
- linux+C环境下动态管理头文件和库文件
- eclipse设置的断点上有一个斜杠,正常启动debug不能够跳转到debug页面
- 328. Odd Even Linked List
- HTTPS详解SSL/TLS
- torch安装
- GIS基本概念
- Docker Swarm与Apache Mesos的区别
- Spring框架学习(一)
- Bootstrap使用模态框
- 【Linux shell】 Shell编程中的条件判断
- 软考嵌入式系统工程师知识点整理(计算机系统构成)
- Logback-学习笔记
- ProgressBar的使用
- git 退回到某個版本