Log4Classicning

好读书 不求甚解 每有会意 便欣然忘食

简单的WKB编码
2008年5月12日

WKB是几何数据的一种表现形式。

对于以WKT描述的点
POINT (32.117 118.32)
其WKB为
00001646414-7-3734-48-276493-108122-3171-8220

对于线LINESTRING (32.117 118.345, 32.117 118.32, 33.117 118.32),其WKB为
000020003646414-7-3734-48-276493-10620122-3171-82646414-7-3734-48-27
6493-108122-3171-82206464-114-7-3734-48-276493-108122-3171-8220

根据其中相同的部分,参考OGC Simple Feature Access标准,其中00001及00002分别表示Point和LineString。
根据文档,各种几何形状的表示如下

wkbPoint = 1,
wkbLineString = 2,
wkbPolygon = 3,
wkbTriangle = 17
wkbMultiPoint = 4,
wkbMultiLineString = 5,
wkbMultiPolygon = 6,
wkbGeometryCollection = 7,
wkbPolyhedralSurface = 15,
wkbTIN = 16
wkbPointZ = 1001,
wkbLineStringZ = 1002,
wkbPolygonZ = 1003,
wkbTrianglez = 1017
wkbMultiPointZ = 1004,
wkbMultiLineStringZ = 1005,
wkbMultiPolygonZ = 1006,
wkbGeometryCollectionZ = 1007,
wkbPolyhedralSurfaceZ = 1015,
wkbTINZ = 1016
wkbPointM = 2001,
wkbLineStringM = 2002,
wkbPolygonM = 2003,
wkbTriangleM = 2017
wkbMultiPointM = 2004,
wkbMultiLineStringM = 2005,
wkbMultiPolygonM = 2006,
wkbGeometryCollectionM = 2007,
wkbPolyhedralSurfaceM = 2015,
wkbTINM = 2016
wkbPointZM = 3001,
wkbLineStringZM = 3002,
wkbPolygonZM = 3003,
wkbTriangleZM = 3017
wkbMultiPointZM = 3004,
wkbMultiLineStringZM = 3005,
wkbMultiPolygonZM = 3006,
wkbGeometryCollectionZM = 3007,
wkbPolyhedralSurfaceZM = 3015,
wkbTinZM = 3016,


对于LineString,标识符之后的编码表示点的数量,之后是顺序存储的点的WKB表示。对于多边形来说,标识符后是环的数量,之后存储线的WKB表示。

说白了,WKB其实就是按照Shapefile的编码思路制定的。

« WorldWind Java DemosWorldWind-USGS EarthQuake Plugin »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Search

站点统计

  • 文章总数:732
  • 评论总数:2568
  • 引用总数:4
  • 浏览总数:5693
  • 留言总数:42
  • 当前主题:ClassicningDailyLog Style
  • 当前样式:footoo

网站收藏

图标汇集

  • Creative Commons License
  • Widgetize!
  • visitor stats

Powered By Z-Blog 1.8 Spirit Build 80722

2004 - 2007 Classicning.com. 苏ICP备06039259号.