3

我创建了一个多边形,其中每个 x/y 点都是 WGS84 格式的纬度/经度值。

多边形是半径为 R 的圆和扇区的良好近似值(每个圆周/弧点是距中心/顶点坐标的距离 R 的投影纬度/经度值 - 我通过计算边缘和之间的 Haversine 距离验证了这一点是正确的参考点并返回 R 值)。

我使用 GEOSSetSRID(4326) 来指示坐标是 WGS84 格式。GEOSGetSRID() 确认 SRID 已设置。

然后使用 GEOSArea 给出的值甚至远不接近预期值。

我看不到我还能以编程方式做什么。

如果我以笛卡尔格式设置点,然后将 SRID 设置为 4326,GEOS 会隐式地将多边形点转换为 WGS84 吗?

基本的 GEOS C API 是否无法执行上述操作?SRID 对 API 没有任何意义吗??

任何正确使用/解决方案的信息/指针将不胜感激。

TIA。

4

1 回答 1

0

给出的距离类似于两点之间的度数。实际上,GEOS API(至少是 C++ 接口)与单位无关;它给出的距离单位是基于你传入的。

一般来说,将得到的结果乘以 111000 可以得到相当准确的测量值(以米为单位)。对于面积,你必须做 111000^2。

于 2014-01-29T23:17:28.333 回答