有没有一种简单的方法可以在SqlGeometry和DbGeometry之间进行转换?
我使用的是流行的sql空间帮助程序库,其中的所有功能都需要SqlGeometry。但是,当我对ESRI ArcSDE要素类使用Entity Framework时,Shape字段将作为DbGeometry返回。
我无法使用该DbGeometry类型调用我想要的任何方法(例如LocateAlongGeom)。
也许有一种方法可以将其序列化为二进制或文本,然后以SqlGeometry的形式读回?

最佳答案

//Convert from SqlGeometry to DbGeometry
SqlGeometry sqlGeo = ...
DbGeometry dbGeo = DbGeometry.FromBinary(sqlGeo.STAsBinary().Buffer);

//Convert from DBGeometry to SqlGeometry
 SqlGeometry sqlGeo2 = SqlGeometry.STGeomFromWKB(new SqlBytes(dbGeo.AsBinary()), 0);

关于c# - 在SqlGeometry和DbGeometry之间转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15485945/

10-09 00:31