我从什么地方提取的国家的轮廓数据,并成功地设法将其转换为纬度和经度坐标的数组,我可以养活到谷歌地图API绘制折线或多边形。谷歌地图多边形优化
的问题是,存在这样的形状约1200+点。它在Google地图中完美呈现,但我需要将点数从1200减少到100以下。我不需要非常流畅的轮廓,我只需要扔掉我可以不用的点。任何算法或可以帮助我减少点数的在线工具都是必需的。
我从什么地方提取的国家的轮廓数据,并成功地设法将其转换为纬度和经度坐标的数组,我可以养活到谷歌地图API绘制折线或多边形。谷歌地图多边形优化
的问题是,存在这样的形状约1200+点。它在Google地图中完美呈现,但我需要将点数从1200减少到100以下。我不需要非常流畅的轮廓,我只需要扔掉我可以不用的点。任何算法或可以帮助我减少点数的在线工具都是必需的。
解释负面评分被认为是礼貌的;我提供了一个链接到一个在线工具,可以做到所要求的。 – Unreason 2011-03-14 13:28:26
我可以从地图整形器生成的“shp”文件中提取坐标信息吗? – 2011-03-14 13:32:10
对不起,在那个时刻没有时间做比罢了。其解释是,提供一种工具(以及实施“某种算法”的模糊建议)似乎是无益的,因为它似乎是解决方案的一个问题。现在,OP澄清了他不需要编程,但只做了一次,只要系统允许我立即撤销downvote。 – 2011-03-14 14:05:52
最有可能你想要什么给点分成2半,并想尝试一下我的JavaScript函数:
function shortenAndShow (polyline, color) {
var dist = 0, copyPoints = Array ();
for (var n = 0, var end = polyline.getVertexCount () - 1; n < end ; n++) {
dist += polyline.getVertex (n).distanceFrom (polyline.getVertex (n +1));
copyPoints.push (polyline.getVertex (n));
}
var lastPoint = copyPoints [copyPoints.length-1];
var newLine = new GPolyline (copyPoints, color, 2, 1);
gmap2.addOverlay (newLine);
}
如果您可以安装postgis,我认为这很容易,因为他们提供了一个安装程序,那么您可以导入数据并执行snaptogrid()或st_simplify(),但我无法在其中找到等价物mysql.If你决定去postgis,我建议,因为它会帮助你的道路,我可以为你提供的细节。
现在对于一个简单的自定义解决方案可以通过削减或倒圆一些COORDS的最后一位数字缩小尺寸,然后合并在一个简单的snaptogrid实际上导致相同COORDS()。
希望它有帮助
将尝试扩展名。 – 2011-03-14 14:05:37
找到Bill Chadwick的这个简单的JavaScript。只需将LatLng提供给一个数组并将其传递给函数中的源参数Douglas Peucker line simplification routine
它将输出一个数组,其中多边形的点数较少。
var ArrayforPolygontoUse= GDouglasPeucker(theArrayofLatLng,2000)
var polygon=new google.maps.Polygon({
path:ArrayforPolygontoUse,
geodesic:true,
strokeColor:"#0000FF",
strokeOpacity:0.8,
strokeWeight:2,
fillColor:"#0000FF",
fillOpacity:0.4,
editable:true
});
theArrayofLatLng是您使用Google Maps API收集的latlng数组。 2000年的价值扭曲在米。我的假设是,价值越高,更多的点将被删除作为输出。
对于真正的初学者: 请确保您使用它之前声明你的HTML页面上的JS文件。 :)
<script type="text/javascript" src="js/GDouglasPeucker.js"></script>
你应该尝试在你的答案中包含最核心的代码片段,并解释他们为什么(或任何算法)解释答案。 – 2013-02-06 18:58:59
感谢您的建议纳撒尼尔。编辑它。 – Quchie 2013-02-07 03:35:05
我同意了非理性的anwser,该网站支持GeoJSON的,我用它在我的网站,它砍下我的GeoJSON的,但我想你也需要这个world country geo Json
你需要做的这一次?你也使用任何一种可能有空间扩展的数据库? – 2011-03-14 13:13:28
@Argiropoulos Stavros:只有一次。没有涉及数据库;它只是一个HTML/JavaScript页面。如果数据库有帮助,那么我可以将数据导入MySQL 5.1数据库并执行您所建议的任何操作。 – 2011-03-14 13:26:37
搜索“编码折线”。它会将你的1200+分减少到40个字节的字符串 – 2011-03-14 17:16:46