#author("2019-09-15T18:38:18+00:00","default:sysosa","sysosa")
#author("2019-09-15T18:40:37+00:00","default:sysosa","sysosa")
地域メッシュコード


4分の1地域メッシュのコードから緯度経度を算出することになった.
簡単にExcelで出せるように関数がネット上によく転がっていた.

セル(A1)に10桁のコードを置いて、グリッドの境界部分は下記の緯度(南北)経度(東西)になる

#code(nonumber){{
南
=(LEFT(A1,2)/1.5*3600+MID(A1,5,1)*5*60+MID(A1,7,1)*30 +

 IF(MID(A1,9,1)*1<>0,IF(OR(MID(A1,9,1)*1=3,MID(A1,9,1)*1=4),15,0)) +

 IF(MID(A1,10,1)*1<>0,IF(OR(MID(A1,10,1)*1=3,MID(A1,10,1)*1=4),7.5,0))) /3600

北
=(LEFT(A1,2)/1.5*3600+MID(A1,5,1)*5*60+MID(A1,7,1)*30+ 

 IF(MID(A1,9,1)*1<>0,IF(OR(MID(A1,9,1)*1=3,MID(A1,9,1)*1=4),15,0)) +

 IF(MID(A1,10,1)*1<>0,IF(OR(MID(A1,10,1)*1=3,MID(A1,10,1)*1=4),15,7.5))) /3600

西
=((MID(A1,3,2)+100)*3600+MID(A1,6,1)*7.5*60+MID(A1,8,1)*45 +

 IF(MID(A1,9,1)*1<>0,IF(OR(MID(A1,9,1)*1=2,MID(A1,9,1)*1=4),22.5,0)) +

 IF(MID(A1,10,1)*1<>0,IF(OR(MID(A1,10,1)*1=2,MID(A1,10,1)*1=4),11.25,0))) /3600

東
=((MID(A1,3,2)+100)*3600+MID(A1,6,1)*7.5*60+MID(A1,8,1)*45 +

 IF(MID(A1,9,1)*1<>0,IF(OR(MID(A1,9,1)*1=2,MID(A1,9,1)*1=4),22.5,0)) +

 IF(MID(A1,10,1)*1<>0,IF(OR(MID(A1,10,1)*1=2,MID(A1,10,1)*1=4),22.5,11.25))) /3600

}}
***確かめ [#g70aeb05]
Google先生に確認をしてみた

#code(nonumber){{
<?xml version='1.0' encoding='UTF-8'?> 
<kml xmlns='http://earth.google.com/kml/2.0'> <Document>

<Placemark> 
 <Polygon> <outerBoundaryIs>  <LinearRing>  
  <coordinates>
139.7625,35.68125,0.
139.765625,35.68125,0.
139.765625,35.67916667,0.
139.7625,35.67916667,0.
  </coordinates>
 </LinearRing> </outerBoundaryIs> </Polygon>
 <Style> 	
  <PolyStyle>  
   <color>#900000ff</color>
  <outline>0</outline>
  </PolyStyle> 
 </Style>
</Placemark>
</Document> </kml>
}}

&ref(2019y09m16d_033837545.png,nolink);
残念なことに縦横250m位が本当なのだが、南北230m、東西280mほどな長方形である....

1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS