Create Geometry From WKB(using NetTopologySuite)

使用NetTopologySuite(NTS)从WKB生成Geometry
1.NetTopologySuite简介
    NetTopologySuite是著名的JTS Topology Suite的C#/.net版本,简称NTS,JTSTopology Suite为一个OpenGIS标准的GIS分析、操作类库。NTS项目的目的是提供一个基于.net,快速、稳定的GIS解决方案,以应用于所有.net平台,包括各类嵌入式设备(.net Compact)。
2.拿到WKB
    既然要从WKB生成Geometry,那我们首先就要拿到一个WKB,就是拿到一个字符串。这里我们使用postgresql提供的工具shp2pgsql来自动生成,上两张图看看生成shp2pgsql生成的insert语句吧
CreateGeometryFromWKB(usingNetTopologySuite)

 
CreateGeometryFromWKB(usingNetTopologySuite)
 
注意红线画出来的就是WKB,既然他们拿到了WKB,就开干吧
3.从WKB生成Geometry
    NTS提供了一个类叫做WKBReader,用他来读取一个bytes的数组我们直接来上图
CreateGeometryFromWKB(usingNetTopologySuite)
 
注意我们图中用红线框起来的内容,WKBReader读取的那个bytes数组是要通过 WKBReader.HexToBytes(wkb)出来的结果才能正确读取,直接使用Encoding.UTF8.GetBytes(wkb)的结果读取是会报错的,报错的信息为:无法识别的空间类型。
   最后面将IGeometry转为Geometry,因为IGeometry是继承自Geometry的,子类对象可以直接转为父类对象使用。
   写到这里突然想到一句话,面向对象程序设计的多态的精髓就是: 子类对象可以转换为父类对象,但表现出来子类对象的特征。
结语:又到年底了,我们又开始996了,加油奋斗吧,虽然今年注册测绘师和信息系统项目管理师都没过,但是不要气馁,明年接着干。giser,never backoff,and never give up!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIGIS.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值