回答

收藏

.net 4.5中是否有类似之处dbgeometry makevalid之类的东西

技术问答 技术问答 117 人阅读 | 0 人回复 | 2023-09-13

我正试图像这样计算折线的面积0 y( h1 _% p# R8 k8 U4 x
                string poly = &quotOLYGON ((637604.918432772 2230520.64934531,637622.257266129 2230419.44632915,637279.107128549 2230192.04910755,636765.470527745 2230179.6468564,636778.005055813 2229861.77192838,636529.81646905 2229464.29327025,635813.486592791 2229523.30345774,636017.385069448 2229974.32341381,636267.323659164 2230070.32127916,637035.026966561 2230404.70764784,637275.265066307 2230401.13408429,637604.918432772 2230520.64934531,637604.918432772 2230520.64934531))";     DbGeometry gm = DbGeometry.FromText(poly,32637);double area= gm.Area.Value; // here I got the error Exception has been thrown by the target of an invocation.后来我注意到了dbgeometry我尝试了无效错误的原因ms sql 2012年的代码也给了我错误,但当我尝试的时候
  ]/ [# ]6 X+ H- t, zSELECT @gm.MakeValid().STArea()大多数人都同意SQL我工作的问题是几何学是否正在进行中.net有效的谢谢
  x. a( b/ c+ O( @                                                                  e8 p- F1 ?8 z+ T1 {' q7 G2 h' L' L
    解决方案:                                                                1 k) I1 }+ n7 b" w( y$ ~* w. W8 A6 f
                                                                我同意Bojan,除非你使用实体框架?
4 Y0 Q4 D' P! ]; `( s" q! x, ^, xSqlGeometry对象具有MakeValid()函数,所以,可以使用你的示例DbGeography和SqlGeography两者转换:
& A; S- r! |& C- _) A9 [# p1 h2 S6 UDbGeography geog;SqlGeometry geom = SqlGeometry.STGeomFromWKB(new SqlBytes(geog.AsBinary(),32637);但除非你使用它,否则EF,否则,我建议你只SqlGeometry作为3 `$ I, y' C7 c1 F
[ol]没有演员表/转换
4 t8 W% e, G% W2 E" D; G) G2 |SqlGeometry比DbGeometry具有更多的可用功能。[/ol]希望能有所帮助。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则