使用SQL Server 2008:假设我有一个有效的地理对象 geog1 ,将其转换为几何实例 geom1 (使用相同的SRID)并将其转换回对象地理 geog2 显示 geog1 和 geog2 之间没有区别。
但是,由于已经讨论过的问题here,我无法创建包含原始数据中的线串的地理对象。它适用于几何对象。但是,如果我在生成的几何体上执行MakeValid()
,我可以再次创建一个地理对象。
问题是我不知道这个地理位置与之前geography::STGeomFromText()
未接受的原始线串相比是否会有很大不同。
特别是对象长度(STLength()
)是我感兴趣的。
有没有人知道地理位置和几何类型之间的转换是否无法解决,以及对几何体的MakeValid()
调用是否会改变数据(特别是在长度方面)?
由于
答案 0 :(得分:1)
MakeValid()必然会更改几何实例的基础数据。 (如果没有做任何更改,那么生成的几何图形仍然与原始几何图形一样无效)。
在许多情况下,唯一的变化是生成几何的类型(即无效的,自相交的线串可能会成为有效的多线串),但坐标值也可能是更改。但是,这些只会移动验证几何图形所需的绝对分数,并且不会对长度产生显着影响。