首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有经度/经度的JTS

带有经度/经度的JTS
EN

Stack Overflow用户
提问于 2014-03-04 01:01:52
回答 1查看 561关注 0票数 0

我有一些空间数据,它的所有坐标都是经纬度/经度对(大约10位小数精度),它以多边形的形式存储在数据库中,数据的WGS84 data.Some表示为多边形,多边形是一些边界为stored.Then的较小多边形的并集。我有许多点,我从这些点构建线段(每段中只有2个点),稍后我将使用这些点与多边形进行相交测试。

我使用SpatialIndex来改进我的查询,所以我在树中插入所有多边形的包络(用QuadTree和STRtree测试).Then,我将两个点连接到一个线段中,我使用它的包络来查询树中可能的intersections.The问题是,我得到了几乎所有的多边形,这显然是错误的。为了让你了解我的数据的真实规模,我有大约100个多边形,覆盖了整个北美,每条线覆盖了单个polygon.Ideally的非常非常小的一部分,因此我预计不会超过2个多边形。

我正在使用JTS进行计算,我知道它并不真正适合球形数据,所以你能给我推荐另一个库/工具来实现所需的行为或可能的解决方法(例如,在使用JTS之前进行投影)?

EN

回答 1

Stack Overflow用户

发布于 2014-04-22 19:44:40

如果你只有北美,只要把地球旋转90度,阿拉斯加就不再在远东了。(有趣的事实:阿拉斯加既是美国最北部、最西部和最东部的州。)那么你的矩形应该没问题。

然而,在使用球形数据时,也有许多不平凡的情况。根据数据的定义方式,多边形边界实际上可能是弯曲的线,而不是直线。看看这张谷歌入口的截图:https://lh4.ggpht.com/S_9jrMqf08JfIbr7DgUDH96rvXMK4wOGtaSKYPGCruXv2HE4oeRuEaQIDIywMgH4198=h900

我在某处读到,“雾”纹理和左侧区域中可见的绿色线条的不匹配是由于两个绘图函数使用了不同的近似。一条总是一条直线,而另一条则跟随地球的曲率。如果你有一个很大的字段(polygon!),错误会变得更严重。

不幸的是,当您的数据由球体表面上的非直线组成时,“交集”成为一个棘手的术语;而地球表面上的“直线”通常会在latlon坐标中产生一条弧形曲线。

预测:这些可以有所帮助,但主要是当您的数据是本地数据时。UTM的预测相当不错,但你至少需要9个UTM区域才能覆盖没有阿拉斯加的北美。只要您的数据在一个UTM区域内,将数据投影到该区域,然后处理2D欧几里德空间就可以很好地工作。但如果它比这个更大,你可能需要缝合不同的投影,这也是非常混乱的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22152717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档