#1 楼
您可以查看OpenLayers API,尤其是Geometry类。您可以检查相交,并可以访问顶点等。我过去仅使用OpenLayers实现了点缓冲区。工会可能比较棘手。
对于更复杂的操作,您可能需要在服务器端进行处理,并将结果传递回WKT或GeoJSON中,这两种OpenLayers都可以显示。有关示例,请参见本联合教程。
另一个可能的选择是空间查询(Spatial Query):“一个类似Java的JQuery库,用于处理空间数学。”我不确定它的测试程度如何,但是由于有可用的资源,您应该看看。
更新
现在有了JTS拓扑套件的JavaScript端口-https://github.com/bjornharrtell/jsts
#2 楼
我的JTS端口已经完成,这是一个纯JS端口,可以在https://github.com/bjornharrtell/jsts上找到。在当前版本(0.9.1)上,支持谓词和覆盖的JTS核心功能。
评论
嘿,我最近完成了JSTS 1.0,它是现代JavaScript中JTS的完整且最新的版本。与0.x版本位于同一位置。
–BjörnHarrtell
16年2月29日在20:07
#3 楼
您可以看一下geoscript(以包括JS在内的多种语言实现)评论
我敢肯定,GeoScript JS不能在客户端/浏览器上运行。该网站称它是为RingoJS设计的。它还似乎具有JTS依赖性。
–atogle
2011-3-12在17:51
#4 楼
如果您对Google AppEngine需要此功能,那么据我阅读,JTS正式与Google App Engine兼容。 http://giscloud.appspot.com/上有一个基本演示。
#5 楼
Turf是一个提供大量空间操作的JavaScript库。它也是模块化的,因此您只能在最终脚本中包括所需的功能。评论
不幸的是,它在几何形状和可用操作方面受到严重限制。您可以指向多边形中的东西,但这似乎基本上就是它。
–bugmenot123
16年2月11日在10:40
Turf实际上在许多操作中都使用了我自己的JSTS(但是是较旧的版本)。如果直接使用JSTS,则可以访问更详细的API,该API比Turf可以做的更多。参见github.com/bjornharrtell/jsts。
–BjörnHarrtell
16-2-29在20:05
我发现很难让JSTS在打字稿应用程序中工作,并且Turf.js可以立即使用。 JSTS的功能更丰富,但是对于我的需求Turf.js表现得很好。
–汉卡
19年10月10日在3:25
评论
我查看了OpenLayers的几何图形,我认为resize方法将使我能够缩放几何图形以获得类似缓冲区的结果。但是您是对的,并集和相交都必须手动完成。唉。我真正需要的是JTS的纯JS端口。 JSTS? =)
–atogle
2011-3-12在17:54
我到处走走了很多,我认为没有真正的全面,成熟和纯净的JS解决方案。目前,空间查询确实看起来是最好的东西,但是我在GitHub上发现了其他一些有用的存储库:github.com/shawnbot/geoff/blob/master/src/geoff.js和github.com/maxogden/ geojson-js-utils
–atogle
2011年4月1日17:12
@atogle-有关将OpenLayers中的几何功能转移到单独的库的讨论-osgeo-org.1803224.n2.nabble.com/…
– geoographika
2011年4月1日17:22
很高兴知道!
–atogle
2011年4月7日在16:27