1 つのラインストリングを含む単純な KML ファイルがあります (実際のファイルには数千あります)。Google Earth は 1 行の文字列を 2 行として描画するため、座標に問題があります。私の SQL Server Spatial への変換と最終的には C# コードは 1 行しか描画しません。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>Test.kmz</name>
<Style id="styleOSR">
<LineStyle id="lineStyleOSR">
<color>ff0f00ff</color>
<width>2</width>
</LineStyle>
</Style>
<Folder>
<name>TEST</name>
<description>
</description>
<Folder>
<name>TEST</name>
<Placemark>
<name>OSR 0038</name>
<styleUrl>#styleOSR</styleUrl>
<LineString>
<tessellate>1</tessellate>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>
68.208,86.306,0 70.926,86.203,0 72.984,86.106,0 75.029,85.98900000000002,0 76.32599999999999,85.917,0 78.40300000000001,85.768,0 81.10299999999999,85.639,0 83.143,85.556,0 84.80200000000001,85.5,0 86.80200000000001,85.41800000000001,0 88.486,85.346,0 89.98,85.29600000000001,0 92.313,85.229,0 94.155,85.155,0 95.839,85.102,0 97.27300000000001,85.02800000000001,0 98.568,84.95999999999999,0 99.444,84.911,0 102.918,84.664,0 103.943,84.57800000000002,0 105.302,84.485,0 106.759,84.369,0 107.709,84.295,0 108.939,84.194,0 109.727,84.11,0 110.959,83.965,0 111.974,83.824,0 112.843,83.67400000000002,0 113.723,83.512,0 114.558,83.321,0 115.258,83.151,0 115.793,83.014,0 116.582,82.74,0 117.171,82.539,0 117.755,82.298,0 119.1,82.087,0 119.984,81.595,0 121.004,81.115,0 121.898,80.643,0 122.639,80.206,0 123.408,79.759,0 125.188,78.99,0 125.679,78.133,0 -29.60900000000001,39.993,0 -29.613,40.033,0 -29.58,40.079,0 -29.588,40.106,0
</coordinates>
</LineString>
</Placemark>
</Folder>
</Folder>
</Document>
</kml>
私の問題は、これをGoogle Earthにロードすると、地球上に2本の別々の線が描画されることです。これは実際に私がやりたいことです。下の写真に 2 本の赤い線が見えます。2 本の独立した線です。
しかし、折れ線を処理してから SQL Server ジオメトリから線をレンダリングすると、1 本の線が得られます
したがって、この座標行を解析して SQL Server に入力すると、
LINESTRING (68.208 86.306, 70.926 86.203, 72.984 86.106, 75.029 85.989000000000019, 76.326 85.917, 78.403 85.768, 81.103 85.639, 83.143 85.556, 84.802 85.5, 86.802 85.418, 88.486 85.346, 89.98 85.296, 92.313 85.229, 94.155 85.155, 95.839 85.102, 97.27300000000001 85.028, 98.568 84.96, 99.444 84.911, 102.918 84.664, 103.943 84.578000000000017, 105.302 84.485, 106.759 84.369, 107.709 84.295, 108.939 84.194, 109.727 84.11, 110.959 83.965, 111.974 83.824, 112.843 83.674000000000021, 113.723 83.512, 114.558 83.321, 115.258 83.151, 115.793 83.014, 116.582 82.74 , 117.171 82.539, 117.755 82.298, 119.1 82.087, 119.984 81.595, 121.004 81.115, 121.898 80.643, 122.639 80.206, 123.408 79.759, 125.188 78.99, 125.679 78.133, -29.609000000000009 39.993, -29.613 40.033, -29.58 40.079, -29.588 40.106 )
問題は、最後の 4 つの座標にこれらの値が含まれていることです
-29.609000000000009 39.993、-29.613 40.033、-29.58 40.079、-29.588 40.106
これで、Google Earth は座標が互いに異なることを認識しているようで、1 本の線をレンダリングせず、 2 本の線に分割します。
だから私の質問はどうやって同じことをするのですか?これらがたくさんあることを思い出してください。それらをカスタム レイヤーとして Google マップに配置したいと考えています。これが私の問題です。マップ上の奇妙な線です。
Google Earth が実際に完全な KML ファイルをレンダリングする方法を次に示します。
元の KML ファイルに興味がある場合は、ここから入手できます。
これは、ニュージーランドの地震サイトでテクトニック プレートを地図上に表示するためのものです。
http://canterburyquakelive.co.nz
乾杯
クリス