Sal*_*n A 8 algorithm google-maps polygon
我从某处提取了国家大纲数据并成功设法将其转换为lat-lng坐标数组,我可以将其提供给Google maps API以绘制折线或多边形.
问题在于该形状中有大约1200个点.它在Google地图中完美呈现,但我需要将点数从1200减少到不到100.我不需要非常平滑的轮廓,我只需要扔掉我可以不用的点数.需要任何可以帮助我减少点数的算法或在线工具.
发现Bill Chadwick这个简单的javascript.只需将LatLng输入一个数组并传入函数中的源参数,这里Douglas Peucker简化线程
它将输出一个多边形点数组.
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
});
Run Code Online (Sandbox Code Playgroud)
theArrayofLatLng是您使用google maps api收集的latlng数组.2000年的价值是以米为单位的扭结.我的假设是,值越高,作为输出将删除更多的点.
对于真正的初学者:确保在使用之前在html页面上声明js文件.:)
<script type="text/javascript" src="js/GDouglasPeucker.js"></script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5612 次 |
| 最近记录: |