VBA(Excel)でGeoJSONをパースしてみる


GeoJSONはKMLなどと並んで、GISの分野でよく使われるようになったフォーマットです。KMLで表現しきれないようなデータも扱えます。

これをGoogleのvba-jsonライブラリを使ってパースしてみます。

このExcelアプリは単体で機能するのでネットに繋がっている必要はないです。

GeoJSON公式サイト

Google Mapsで扱えるフォーマットはこんな感じです。

座標は[経度,緯度]

Point(マーカー)

{“type”:”FeatureCollection”,”features”:[
{
“type”:”Feature”,
“properties”:{
“type”:”marker”,
“icon”:”img/blue1.png”
},
“geometry”:{
“type”:”Point”,
“coordinates”:[144.14,-27.41]
}
}
]}

Polyline(線)

{“type”:”FeatureCollection”,”features”:[
{
“type”:”Feature”,
“properties”:{
“type”:”line”,
“strokeColor”:”#ff0000″,
“strokeOpacity”:1.0,
“strokeWeight”:1
},
“geometry”:{
“type”:”LineString”,
“coordinates”:[
[144.14,-27.41],…….,[144.31,-28.26]
]
}
}
]}

Polygon(円・多角形)

座標列は中抜きをしない場合はどちら回りでもいいです(基本は右手系、反時計回りです)。

{“type”:”FeatureCollection”,”features”:[
{
“type”:”Feature”,
“properties”:{
“type”:”circle”,
“strokeColor”:”#ff0000″,
“strokeOpacity”:1.0,
“strokeWeight”:1,
“fillColor”:”#ff0000″,
“fillOpacity”:1.0
},
“geometry”:{
“type”:”Polygon”,
“coordinates”:[
[
[144.14,-27.41],…….,[144.31,-28.26],[144.14,-27.41]
]
]
}
}
]}

 

 

ポリゴン・ポリライン・サークル・マーカーのデータファイルはこのページで作成できるようにしました。

ポリゴン・ポリライン

サークル

マーカー

 


Excelブック

(Windows 10 32bit + Excel 2013で動作確認)

クラスモジュール

 

初期画面

読み込みは1ファイルごとです。

各プロパティと座標を表示。

座標はスラッシュ(/)で区切られています。

 

 

 


Google Maps

GeoJSONのcoordinatesはloadGeoJsonで形状を決めるのに使われます。

GeoJSONのpropertiesはスタイルを定義するのに使われます。

Google Maps データレイヤ


座標列が右回りか左回りかの判定

ポリゴンの重心計算のところを参照


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*