GIS基本概念
簡(jiǎn)介
?
幾何對(duì)象
- Point, MultiPoint
- LineString, MultiLineString
- Polygon, MultiPolygon
- GeometryCollection
- 可以由多種Geometry組成,如:GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)
? 示例: ??
| Type | Shape | WKT | GeoJSON |
| Point | ? | POINT (30 10) | { "type": "Point", "coordinates": [30, 10] } |
| LineString | ? | LINESTRING (30 10, 10 30, 40 40) | { "type": "LineString", "coordinates": [ [30, 10], [10, 30], [40, 40] ] } |
| Polygon ? | ? | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | { "type": "Polygon", "coordinates": [ [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]] ] } |
| ? | POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), | { "type": "Polygon", "coordinates": [ [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]], [[20, 30], [35, 35], [30, 20], [20, 30]] ] } | |
| MultiPoint ? | ?? | 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 | ? | ? MULTILINESTRING ((10 10, 20 20, 10 40), | ? { "type": "MultiLineString", "coordinates": [ [[10, 10], [20, 20], [10, 40]], [[40, 40], [30, 30], [40, 20], [30, 10]] ] } |
| ? MultiPolygon | ? | ? MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), | ? { "type": "MultiPolygon", "coordinates": [ [ [[30, 20], [45, 40], [10, 40], [30, 20]] ], [ [[15, 5], [40, 10], [10, 20], [5, 10], [15, 5]] ] ] } |
| MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), | { "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采用二進(jìn)制進(jìn)行存儲(chǔ),更方便于計(jì)算機(jī)處理,因此廣泛運(yùn)用于數(shù)據(jù)的傳輸與存儲(chǔ),以二位點(diǎn)Point(1?1)為例,
? ? ?其WKB表達(dá)如下:
? 01??0100?0020?E6100000??000000000000F03F?000000000000F03F
? ??
-
表示編碼方式,00為使用big-endian編碼(XDR),01為使用little-endian編碼(NDR)。他們的不同僅限于在內(nèi)存中放置字節(jié)的順序,比如我們將0x1234abcd寫(xiě)入到以0×0000開(kāi)始的內(nèi)存中,則結(jié)果如下表:
-
Address
big-endian
little-endian
0×0000
0x12
0xcd
0×0001
0x34
0xab
0×0002
0xab
0x34
0×0003
0xcd
0x12
- 第二到第九字節(jié)對(duì)矢量數(shù)據(jù)基本信息進(jìn)行了定義
-
第二與第三個(gè)字節(jié)規(guī)定了矢量數(shù)據(jù)的類型,如例子中的0100代表Point;
-
第三與第四個(gè)字節(jié)規(guī)定了矢量數(shù)據(jù)的維數(shù),如例子中的0020代表該點(diǎn)是二位的;
- 第五到第九個(gè)字節(jié)規(guī)定了矢量數(shù)據(jù)的空間參考SRID,如例子中的E6100000是4326的整數(shù)十六位進(jìn)制表達(dá)
-
- 第五到第九個(gè)字節(jié)規(guī)定了矢量數(shù)據(jù)的空間參考SRID,如例子中的E6100000是4326的整數(shù)十六位進(jìn)制表達(dá)
- 第十個(gè)字節(jié)開(kāi)始,每16個(gè)字節(jié)就代表一個(gè)坐標(biāo)對(duì),如例子中的000000000000F03F是浮點(diǎn)型1的十六進(jìn)制表達(dá)
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/duanxingxing/p/5144257.html
總結(jié)
- 上一篇: 第二百九十、一、二天 how can I
- 下一篇: IOS-多线程(NSOperation)