海上保安庁で運用されているシステムである「海しる」の公開APIである「海しるAPI」の新しいバージョン(v2)が出ていたことに気づいたので、使用方法や使用感、感想等について忘れないうちにメモする
1. 海しるとは?
「海しる(海洋状況表示システム)」は、さまざまな海洋情報を集約し、地図上で重ね合わせて表示できる情報サービスです。
その中でも「海しるAPI」は公開されている情報を、JSON、GeoJSONまたはPNGで取得できる。
2. 実際に使ってみた
アクセスするためにはキーが必要なため、公開されているサブスクリプションキーを使用することにした。
項目一覧から公開されているAPIを探すとまだわかりやすい。
正直に言うと、どのバージョンが最新なのかわかりにくいのでどうにかしてほしい...
今回はゴジラで若干話題になった「海底地形名」のAPIを叩いてみる。
同じページにリクエストするためのパラメータの説明が記載されていた。海しるはArcGISを使用しているため、当たり前といえばそうだが ArcGISのrestと同じようなアクセスができそうに見える。
右上の「TryIt」のボタンからAPIを叩くことができるみたい。
LayerSelectionのパラメータはジオメトリに応じて数字を入力する
必要最低限のパラメータを入力して一番下にある「Send」ボタンをクリックすると出力できる。
例えば、https://api.msil.go.jp/undersea-features/v2/MapServer/1/query?f=json&geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersects&units=esriSRUnit_Meter&returnGeometry=true HTTP/1.1
の状態で「Send」ボタンをクリックすると下のようにリクエストのとおりJSONを出力できる。
省略
...
"features": [{
"attributes": {
"海底地形名": "東崎堆",
"かな": "あがりざきたい",
"Undersea_Feature_Name": "Agarizaki Bank",
"属名": "堆",
"水深": 66,
"呼称の由来": "近傍地名に由来(与那国島東崎)",
"由来_En": "Named from the nearby feature/s.",
"会議名": "第12回海洋地名打合せ会 (1981)",
"JCUFN_approved": 1981,
"SCUFN_approved": null
},
"geometry": {
"x": 123.10833333300002,
"y": 24.470000000000027
}
}, {
"attributes": {
"海底地形名": "粟国海盆",
"かな": "あぐにかいぼん",
"Undersea_Feature_Name": "Aguni Basin",
"属名": "海盆",
"水深": null,
"呼称の由来": "近傍地名に由来(粟国島)",
"由来_En": "Named from the nearby feature/s.",
"会議名": "第9回海洋地名打合せ会 (1977)",
"JCUFN_approved": 1977,
"SCUFN_approved": null
},
"geometry": {
"x": 127.0166666670001,
"y": 26.53333333300003
}
}, {
...
省略
今回は、海しるAPIのページに用意されていた「TryIt」を使用したが、
pythonのurllib.requestや、curl等のアクセス用のサンプルリクエストも用意されているみたい
3. おわりに
海しるAPIのv1と、v2の違いとしては、
「海しる」に掲載されている属性情報がAPIで取得できるようになったことも大きいが、
最大のメリットは、リクエスト方法がArcGISっぽくなったことだと思う。
海しるAPIで、何ができて何ができないかもう少し調べてみたい。