マイマップで円を描く!!

 

このページではマイマップで半径1kmの円を描く方法を紹介します。

 

今回は中心の位置の経度・緯度を[140.525  38.033333]とします。

 

注意!!

大雑把な数値で計算してますし、地理とか(?)専門じゃないので色々間違ってるとおもいます。

一応円っぽいのが描けたよ!という報告だと思ってください。

 

ここに出てくる図は、上が北だと思ってください。

 

 

 

緯度は、だいたいの数値ですが

1度が111km

1分が1.85km

1秒が30.9m(緯度の値によって若干数値が変わります。)

だそうです。

ということは…32.5秒で約1kmとしちゃいます。

 

経度は、だいたいの数値ですが

1秒が31m(赤道付近)、25m(緯度=35付近)、0m(緯度=0付近)

と、数値がバラバラ。

今回は緯度が38.033の場合を考えているので、

1秒を25mとします。

ということは…40秒で約1kmと考えましょう。

 

ちょっとまとめとくと、

緯度

32.5秒=1km

経度

40秒=1km

 

ということになります。

 

さて、実は経度を140.525とか緯度を38.033333と表記するのはGooglemapsで扱えるように

10進法で表記されているものです。そして、「〜秒」とかで表記されているのは60進法で表記されているものです。

この「〜進法」とか聞くと、めんどくさそうに感じちゃうので無視していいです。

要は、

緯度

32.5秒=1km

経度

40秒=1km

10進法で表記すればOKです。

 

緯度

32.5÷3600=0.0090278

経度

40÷3600=0.011111

これでOK

 

つまり、

緯度

0.0090278=1km

経度

0.011111=1km

となります。

 

すると、[140.525  38.033333]を中心とした場合、東端は、

 

140.525は変わらず。

 

38.033333+0.0090278=38.0420278

 

となり、東端の経度・緯度は[140.525  38.0423608]となります。

 

さて、次からちょっと難しくなります。

 

 

 

 

上の図の赤丸のところの座標を求めていくわけです。

sin15° sin30°…

cos15° cos30°…

を求めて、中心の座標に足して行きましょう。

(私はExcelに数値を入れて計算させました。数値を残しておきたかったので。もし、Excelsincosを計算する場合は、

ラジアンでの入力ということに注意。)

 

sin15°= 0.258819045

cos15°= 0.965925826

 

これは単位円での値なので、

sinで計算した方には経度の座標の差になる0.0111111をかける。

0.002875764 …α

cosで計算した方には緯度の座標の差になる0.0090278をかける。

0.008720185 …β

(ここの計算とか、やってる本人も間違ってる気がしてなりません。)

 

出てきた数値を中心の座標にそれぞれ足します。

 

140.525+α=140.5278758

38.033333+β=38.04205352

 

つまり、[140.5278758  38.04205352]が15°の座標になる(っぽい)。(下図)

 

 

これを他の角度でもやって、足すだけじゃなくて引いたりして、

赤丸の位置の座標を全て求めます。

 

 

 

するとこんな感じの数値がでてきました。

 

 

 

この数値をKMLの中に書き込んでやります。

 

<?xml version="1.0" encoding="UTF-8"?>

<kml xmlns="http://earth.google.com/kml/2.1">

  <Document>

  <name>TEST</name>

    <Style id="transBluePoly">

      <LineStyle>

        <width>1.5</width>

      </LineStyle>

      <PolyStyle>

        <color>7dff0000</color>

      </PolyStyle>

    </Style>

      <Placemark>

      <name>TEST</name>

      <styleUrl>#transBluePoly</styleUrl>

      <Polygon>

        <extrude>1</extrude>

        <altitudeMode>relativeToGround</altitudeMode>

        <outerBoundaryIs>

          <LinearRing>

            <coordinates>

            140.525,38.0423608,1

            140.5278758,38.04205352,1

            140.5305555,38.04115163,1

            140.5328567,38.03971695,1

            140.5346225,38.03784723,1

            140.5357325,38.0356699,1

            140.536111111,38.0333333333333,1

            140.5357325,38.03099676,1

            140.5346225,38.02881943,1

            140.5328567,38.02694971,1

            140.5305555,38.02551503,1

            140.5278758,38.02461314,1

            140.525,38.02430553,1

            140.5221242,38.02461314,1

            140.5194445,38.02551503,1

            140.5171433,38.02694971,1

            140.5153775,38.02881943,1

            140.5142675,38.03099676,1

            140.5138889,38.0333333333333,1

            140.5142675,38.0356699,1

            140.5153775,38.03784723,1

            140.5171433,38.03971695,1

            140.5194445,38.04115163,1

            140.5221242,38.04205352,1

            140.525,38.0423608,1

            </coordinates>

          </LinearRing>

        </outerBoundaryIs>

      </Polygon>

    </Placemark>

      <Placemark>

        <name>TEST</name>

        <description><![CDATA[場所:白石市川原子]]></description>

        <Point>

          <coordinates>140.525,38.0333333333333,1</coordinates>

        </Point>

      </Placemark>

  </Document>

</kml>

 

そして、マイマップの「インポート」から作ったKMLをファイルを選択してアップロードすると…!!

 

手でクリックしながら描くよりきれいですよね?

 

 

拡大すると少しカクカクしてますね。

でも15°ずつ区切ったところを10°ずつとか5°ずつにしたらもっと滑らかになるんじゃないかなぁ…。

 

トップへ

?2009numa