1

使用 SQL Server 2008:假设我有一个有效的地理对象geog1,将其转换为几何实例geom1(使用相同的 SRID)并将其转换回对象地理geog2显示geog1geog2之间没有区别。

但是,由于这里已经讨论过一个问题,我无法从我的原始数据中创建一个包含线串的地理对象。它适用于几何对象。但是,如果我MakeValid()对生成的几何图形执行 a,我可以再次创建一个地理对象。问题是我不知道这个地理与以前不接受的原始线串相比是否会有很大不同geography::STGeomFromText()。特别是对象长度 ( STLength()) 是我感兴趣的。

有谁知道地理和几何类型之间的转换是否是无损的,以及MakeValid()对几何的调用是否会更改数据(尤其是在长度方面)?

谢谢

4

1 回答 1

1

MakeValid() 必然会更改几何实例的基础数据。(如果它没有进行任何更改,那么生成的几何图形仍然与原始几何图形一样无效)。

在许多情况下,唯一的变化是生成的几何图形的类型(即无效的自相交线串可能变成有效的多线串),但坐标值也可能发生变化。但是,这些仅移动了验证几何所需的绝对分数,并且不会对长度产生显着影响。

于 2010-01-16T17:24:28.130 回答