我從什麼地方提取的國家的輪廓數據,併成功地設法將其轉換爲緯度和經度座標的數組,我可以養活到谷歌地圖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