[付録] エリア・データ連携基盤への登録
ここまでで電子データを共通データ仕様に合致した用語と形式で作成した例を紹介しましたが、将来的にはエリア・データ連携基盤が各自治体に整備される事を想定して電子データをエリア・データ連携基盤に登録する例を紹介します。エリア・データ連携基盤としては、デジタル庁が推奨するFiware/Orionを前提として記述します。
ここまでの例では、電子データはモノやコトを表すEntityが並んだものとして作成されています。エリア・データ連携基盤にこれを登録するには、以下の3つの方法があります。
- プログラムを作成して、Entityの並びを読み込んてエリア・データ連携基盤に登録する
- エリア・データ連携基盤が読み込めるように、Entityの列の前後にエリア・データ連携基盤への指示を追加してエリア・データ連携基盤に入力する。指示の追加はWindowsのPowerShellや簡単なプログラムで可能です。追加すべき指示は下図の赤枠部分です
- 本ケーススタディで使用したctojツールにはエリア・データ連携基盤が読み込めるようなJSON文を作成する機能があるので、これを利用してエリア・データ連携基盤に入力する
本ケーススタディでは、ctojを使う方法を紹介します。
まず、ctojのツールを使用するときにパラメータとして”jsontype=batch”を追加して実行します。そうすると、生成されるJSON文に以下の赤字の部分が追加されます。この部分はFiware/Orionに対する指示で、この場合は「追加しなさい」という意味です。追加するのはentitiesで指定したもの。つまり、CSVから変換した共通データ仕様の形式になっているデータです。
{
"actionType": "append",
"entities": [
{
"id": "urn:ngsi-ld:Building:JP0990123456001-00000001",
"type": "Building",
"name": {
"type": "Text",
"value": "呉市役所"
},
"nameKana": {
"type": "Text",
"value": "クレシヤクショ"
},
"facilityID": {
"type": "Text",
"value": "00000001"
}
},
------- 略 -------
{
"id": "urn:ngsi-ld:Building:JP0990123456001-04000008",
"type": "Building",
"name": {
"type": "Text",
"value": "呉市立吉浦中学校"
},
"nameKana": {
"type": "Text",
"value": "クレシリツヨシウラチュウガッコウ"
},
"facilityID": {
"type": "Text",
"value": "04000008"
},
"refDepartment": {
"type": "Relationship",
"value": "urn:ngsi-ld:Department:JP9000020342025-0602003"
}
}
]
}
この方法で「建物(Building)」に関する二つの変換、つまり建物と場所の変換をやり直し、エリア・データ連携基盤に入力します。入力はopenAPIなどと呼ばれるインターネットで標準となっている方法です。この方法についてはここでは記述しませんが、一般の書店などでも売っている本にも記述されていますし、インターネット上にも情報は沢山あります。例えばこちらが詳しい様です。
建物と場所の変換はどちらも「建物(Building」への変換であり、項目が違っていただけでし。さて、両方ともエリア・データ連携基盤に入力したてあとでひとつのEntityをエリア・データ連携基盤から読み出した例が以下です。この例では、keyValuesという簡略化したJSON文を読み出しました。BuildingとそのZonesとで別のJSON文になっていたものが、エリア・データ連携基盤の中ではidで名寄せされ、ひとつのEntityになっている事が分かります。赤字部分が場所一覧から取り込まれた部分です。
[
{
"id": "urn:ngsi-ld:Building:JP9000020342025-00000001",
"type": "Building",
"facilityID": "00000001",
"name": "呉市役所",
"nameKana": "クレシヤクショ"
},
{
"id": "urn:ngsi-ld:Building:JP9000020342025-01234567",
"type": "Building",
"facilityID": "01234567",
"name": "呉市吉浦市民センター",
"nameKana": "クレシヨシウラシミンセンター",
"refDepartment": "urn:ngsi-ld:Department:JP9000020342025-0402004",
"zones": [
{
"zoneName": "建物内部",
"subzones": [
{"subzoneName": ["1F",["吉浦支所","男子トイレ","女子トイレ","正面玄関","階段室","共用ロビー"]]},
{"subzoneName": ["2F",["市民センター窓口","音楽室","調理室","図書室","階段室","共用ロビー"]]},
{"subzoneName": ["3F",["学習室1","学習室2","階段室","共用ロビー"]]},
{"subzoneName": ["4F",["ホール","控室1","階段室","共用ロビー"]]}
]
},
{
"zoneName": "建物外部",
"subzones": [
{"subzoneName": ["屋上",["塔屋","屋上床"]]},
{"subzoneName": ["外壁",["北面","南面","西面","東面"]]},
{"subzoneName": ["アプローチ"]}
]
},
{
"zoneName": "建物周辺",
"subzones": [
{"subzoneName": ["駐車場"]},
{"subzoneName": ["植栽"]}
]
}
]
},
-- 以下略 --