【发布时间】:2015-05-07 21:59:36
【问题描述】:
我需要找到表示为 javascript 地理坐标数组的多边形的联合,如下面的代码所示:
var polygon1 = [[51.49151151647854, -0.20633749635419463],
[51.491517887745886, -0.20663465247037038],
[51.49125377257769, -0.20707803457401042],
[51.49125377257769, -0.20707803457401042],
[51.49090541057069, -0.2071046417369189],
[51.490605858341326, -0.20637621141179352],
[51.49081102624578, -0.20598780005047956],
[51.490859930095496, -0.20592173450688733]]
var polygon2 = [[51.492223312188386, -0.20784254067885688],
[51.49226262897666, -0.20812681455816695],
[51.49162516066342, -0.2090258514344801],
[51.491538051645385, -0.2089717941050469],
[51.49200661100099, -0.20759325088262348]]
我会使用 Google maps Javascript API v3 在 Google 地图上绘制生成的多边形,因此它们也可以像下面的代码一样进行结构化:
var googleMapPolygon1 = [
new google.maps.LatLng(51.49151151647854, -0.20633749635419463),
new google.maps.LatLng(51.491517887745886, -0.20663465247037038),
new google.maps.LatLng(51.49125377257769, -0.20707803457401042),
new google.maps.LatLng(51.49090541057069, -0.2071046417369189),
new google.maps.LatLng(51.490605858341326, -0.20637621141179352),
new google.maps.LatLng(51.49081102624578, -0.20598780005047956),
new google.maps.LatLng(51.490859930095496, -0.20592173450688733),
new google.maps.LatLng(51.49151151647854, -0.20633749635419463)
];
var googleMapPolygon2 = [
new google.maps.LatLng(51.492223312188386, -0.20784254067885688),
new google.maps.LatLng(51.49226262897666, -0.20812681455816695),
new google.maps.LatLng(51.49162516066342, -0.2090258514344801),
new google.maps.LatLng(51.491538051645385, -0.2089717941050469),
new google.maps.LatLng(51.49200661100099, -0.20759325088262348),
new google.maps.LatLng(51.492223312188386, -0.20784254067885688)
]
那么,我可以用什么来找到多边形的并集? 提前致谢。
编辑:这就是我所做的。我有一系列结构为多边形的 Voronoi 单元格(下图左侧)。我想要得到的是它们周围的边界(下图右侧的绿色多边形)。
所以,我想我可以通过联合操作得到它。有人可以帮忙吗?
【问题讨论】:
-
你的图片不是match the data you provided,两个多边形完全分开,没有共同的顶点。你看过JSTS吗?
-
你能提供一个更完整的例子吗?最好是显示问题的Minimal, Complete, Tested and Readable example。
-
JSTS 提供了帮助。我以此为参考:stackoverflow.com/questions/24064125/…
-
这个example from JSTS 可能会给你一个更好的答案。您的数据是所谓的“delaunay-triangulation”(红色)还是“voronoi 图生成”(绿色)?
-
您找到解决方案了吗?如果是,你能帮我吗?我也有同样的问题,两个相邻的地理区域想要将它们合并为一个。
标签: javascript google-maps-api-3 polygons