湖濱散記部落格的樹心幽徑[login][主頁]
565:20200128用JavaScript將輸入文字盒中的WGS84大地座標轉為kml及GPX航點及航跡字串

 

(1)程式碼

<script>
function tokml(){
        var ta = document.getElementById('wgs84');
	var s="kml結果如下:\n";
	s=s+"<?xml version='1.0' encoding='UTF-8'?>\n<kml xmlns='http://www.opengis.net/kml/2.2' xmlns:gx='http://www.google.com/kml/ext/2.2'>\n<Document><name>GPS device</name>\n";
	s=s+"<Style id='lineStyle'><LineStyle><color>FF0000EF</color><width>3</width></LineStyle></Style>\n";
	s=s+"<Folder><name>Waypoints</name>\n";
	var lines = ta.value.split('\n');
	var trk="";
	for(var i = 0;i < lines.length;i++){
	      var tokens=lines[i].split(' ');
              s=s+"<Placemark><name> p" + i + "</name><Point><coordinates>" + tokens[0]+","+tokens[1] + "</coordinates></Point></Placemark>\n";
	      trk=trk+ tokens[0]+","+tokens[1]+"\n";
	  }
	s=s+"</Folder>\n";
	s=s+"<Folder> <name>Tracks</name> <Folder> <snippet/> \n<description> <![CDATA[<table> <tr><td><b>Distance</b> 8.0 mi </td></tr> </table>]]> </description>\n";
	s=s+"<Placemark> <name>track-1</name>\n<styleUrl>#lineStyle</styleUrl>\n";
        s=s+"\n\n<LineString> <tessellate>1</tessellate><coordinates>\n"
	s=s+trk;
	s=s+"</coordinates></LineString>\n"
	s=s+"</Placemark> </Folder> </Folder></Document> </kml>\n";
	alert(s);
}

function togpx(){
        var ta = document.getElementById('wgs84');
	var s="gpx結果如下:\n";
	var trk="<trk><name>trk-1</name> <trkseg>\n";
	var lines = ta.value.split('\n');
	for(var i = 0;i < lines.length;i++){
	      var tokens=lines[i].split(' ');
	      s=s +"<wpt lon='"+tokens[1]+"' lat='"+tokens[0]+"'> <name>p"+i+ "</name>  </wpt>\n";
              trk=trk +"<trkpt lat='"+tokens[1]+"' lon='"+ tokens[0]+"'> <ele>0</ele>  </trkpt>\n";
	  }
	
	trk=trk +"</trkseg></trk>";
	s=s+trk;
	alert(s);
}

</script>


<body bgcolor=lightblue>
<textarea name="欄位名稱" id="wgs84" cols="50" rows="5" >
23.11520 120.93904
23.11436 120.93846
23.11286 120.93707
23.11122 120.93653
23.10969 120.93638
23.10904 120.93634
23.10792 120.93544
23.10691 120.93479
23.10515 120.93359
23.10327 120.93309
23.10175 120.93495
23.09997 120.93476
23.09828 120.93480
23.09687 120.93445
23.09599 120.93461
23.09534 120.93648
23.09377 120.93704
23.09562 120.93836
23.09544 120.93902
23.09396 120.93926
23.09327 120.93917
23.09226 120.93884
23.09093 120.93898
23.08986 120.93992
23.08904 120.94061
23.08841 120.94065</textarea> <hr>
<input type="button" value="轉成KML航點及航跡字串" onclick="tokml();" >
<input type="button" value="轉成GPX航點字串" onclick="togpx();" >
</body>

select id,article_id,topic,text from lt_articles_text where article_id =565; ok. update lt_articles set num_reads=num_reads +1 where id=565; ok.