「建物(Building)」の項目への変換ルール
前ページでは場所(zones)以外の項目の変換を行いました。ここではケーススタディ#1で作成した場所一覧例から「建物(Building)」に変換します。前ページで作った「建物」とのマージは行いません。マージは本ケーススタディの末尾の付録でエリア・データ連絡基盤を使って行います。場所一覧表の例で「建物」から選択した項目は以下の通りです。
表形式への変換の説明 | ||||||
---|---|---|---|---|---|---|
管理通番 | id | idは”url:ngsi-ld:Building:”という文字列の後に不動産IDを繋げた形式ですが、本ユースケースでは不動産IDが無い場合を想定しているため、代替え手段として国コード、法人番号、および管理通番を繋げた形式としました。国コードは日本国内の団体であれば”JP”固定です。場所一覧にはオーナーを特定する情報がありませんので、法人番号は固定の文字列としてidを作成します。この項目は後で前ページで作った「建物」とマージする際の突き合わせのためのキーとなります。 | ||||
(なし) | type | データモデルのtypeを登録します。ここでは”Building”を登録します。前ページの「建物」と重複しますが、仕様上必須項目なので、一応作ります。 | ||||
建物名 | name | 建物の名称です。前ページの「建物」と重複するので、ここでは変換しません。 | ||||
管理通番 | facilityID | 施設管理業務においてオーナーが指定した管理のための建物を識別する番号です。前ページの「建物」と重複するので、ここでは変換しません。 | ||||
zones | 建物内外の場所の名称です。多重のArrayの構造になっているため、最も細かい分類を一行に展開し、より大まかな分類は各行に登録してあります。 | |||||
場所大分類 | zonesName | 最もおおまかな場所の名称です。一番外側のArrayにそのまま転記します。 | ||||
subZones | Arrayの項目です。 | |||||
subZoneName | subZonesの要素のArrayの項目です。 | |||||
場所中分類 | [0] | 大分類を更に区分した場所の名称です | ||||
[1] | subZoneNameの二つ目の項目はArrayになっています。 | |||||
場所小分類 | [0][1]… | 中分類を更に区分した場所の名称です。subZoneNameの二つ目の項目にArrayで格納します |
CSV表の準備
ケーススタディ#1の場所一覧表の例を使います。
■入力となる表
建物名 | 管理通番 | 場所大分類 | 場所中分類 | 場所小分類 |
---|---|---|---|---|
呉市吉浦市民センター | 01234567 | 建物内部 | 1F | 吉浦支所 |
呉市吉浦市民センター | 01234567 | 建物内部 | 1F | 男子トイレ |
呉市吉浦市民センター | 01234567 | 建物内部 | 1F | 女子トイレ |
呉市吉浦市民センター | 01234567 | 建物内部 | 1F | 正面玄関 |
呉市吉浦市民センター | 01234567 | 建物内部 | 1F | 階段室 |
呉市吉浦市民センター | 01234567 | 建物内部 | 1F | 共用ロビー |
呉市吉浦市民センター | 01234567 | 建物内部 | 2F | 市民センター窓口 |
呉市吉浦市民センター | 01234567 | 建物内部 | 2F | 音楽室 |
呉市吉浦市民センター | 01234567 | 建物内部 | 2F | 調理室 |
呉市吉浦市民センター | 01234567 | 建物内部 | 2F | 図書室 |
呉市吉浦市民センター | 01234567 | 建物内部 | 2F | 階段室 |
呉市吉浦市民センター | 01234567 | 建物内部 | 2F | 共用ロビー |
呉市吉浦市民センター | 01234567 | 建物内部 | 3F | 学習室1 |
呉市吉浦市民センター | 01234567 | 建物内部 | 3F | 学習室2 |
呉市吉浦市民センター | 01234567 | 建物内部 | 3F | 階段室 |
呉市吉浦市民センター | 01234567 | 建物内部 | 3F | 共用ロビー |
呉市吉浦市民センター | 01234567 | 建物内部 | 4F | ホール |
呉市吉浦市民センター | 01234567 | 建物内部 | 4F | 控室1 |
呉市吉浦市民センター | 01234567 | 建物内部 | 4F | 階段室 |
呉市吉浦市民センター | 01234567 | 建物内部 | 4F | 共用ロビー |
呉市吉浦市民センター | 01234567 | 建物外部 | 屋上 | 塔屋 |
呉市吉浦市民センター | 01234567 | 建物外部 | 屋上 | 屋上床 |
呉市吉浦市民センター | 01234567 | 建物外部 | 外壁 | 北面 |
呉市吉浦市民センター | 01234567 | 建物外部 | 外壁 | 南面 |
呉市吉浦市民センター | 01234567 | 建物外部 | 外壁 | 西面 |
呉市吉浦市民センター | 01234567 | 建物外部 | 外壁 | 東面 |
呉市吉浦市民センター | 01234567 | 建物外部 | アプローチ | |
呉市吉浦市民センター | 01234567 | 建物周辺 | 駐車場 | |
呉市吉浦市民センター | 01234567 | 建物周辺 | 植栽 | |
呉市立吉浦小学校 | 03000012 | 校舎 | 1F | 正面玄関 |
呉市立吉浦小学校 | 03000012 | 校舎 | 1F | 職員玄関 |
呉市立吉浦小学校 | 03000012 | 校舎 | 1F | 職員室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 1F | 校長室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 1F | 音楽室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 1F | 西階段室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 1F | 東階段室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 1F | 給食室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 2F | 1年1組 |
呉市立吉浦小学校 | 03000012 | 校舎 | 2F | 1年2組 |
呉市立吉浦小学校 | 03000012 | 校舎 | 2F | 西階段室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 2F | 東階段室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 2F | 廊下 |
呉市立吉浦小学校 | 03000012 | 校舎 | 3F | 2年1組 |
呉市立吉浦小学校 | 03000012 | 校舎 | 3F | 2年2組 |
呉市立吉浦小学校 | 03000012 | 校舎 | 3F | 西階段室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 3F | 東階段室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 3F | 廊下 |
呉市立吉浦小学校 | 03000012 | 校舎 | 3F | 工作室 |
呉市立吉浦小学校 | 03000012 | 校舎 | 3F | 倉庫 |
呉市立吉浦小学校 | 03000012 | 体育館 | 舞台 | |
呉市立吉浦小学校 | 03000012 | 体育館 | コート | |
呉市立吉浦小学校 | 03000012 | 屋外 | 正門 | |
呉市立吉浦小学校 | 03000012 | 屋外 | 裏門 | |
呉市立吉浦小学校 | 03000012 | 屋外 | グランド | |
呉市立吉浦小学校 | 03000012 | 屋外 | 花壇 | |
呉市立吉浦中学校 | 04000008 | 校舎 | 1F | 正面玄関 |
呉市立吉浦中学校 | 04000008 | 校舎 | 1F | 職員玄関 |
呉市立吉浦中学校 | 04000008 | 校舎 | 1F | 職員室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 1F | 校長室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 1F | 図書室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 1F | 西階段室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 1F | 東階段室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 1F | 給食室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 2F | 1年A組 |
呉市立吉浦中学校 | 04000008 | 校舎 | 2F | 1年B組 |
呉市立吉浦中学校 | 04000008 | 校舎 | 2F | 西階段室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 2F | 東階段室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 2F | 廊下 |
呉市立吉浦中学校 | 04000008 | 校舎 | 3F | 2年A組 |
呉市立吉浦中学校 | 04000008 | 校舎 | 3F | 2年B組 |
呉市立吉浦中学校 | 04000008 | 校舎 | 3F | 西階段室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 3F | 東階段室 |
呉市立吉浦中学校 | 04000008 | 校舎 | 3F | 廊下 |
呉市立吉浦中学校 | 04000008 | 校舎 | 3F | 3年A組 |
呉市立吉浦中学校 | 04000008 | 校舎 | 3F | 3年B組 |
呉市立吉浦中学校 | 04000008 | 体育館 | 舞台 | |
呉市立吉浦中学校 | 04000008 | 体育館 | コート | |
呉市立吉浦中学校 | 04000008 | 屋外 | 正門 | |
呉市立吉浦中学校 | 04000008 | 屋外 | 裏門 | |
呉市立吉浦中学校 | 04000008 | 屋外 | グランド | |
呉市立吉浦中学校 | 04000008 | 屋外 | 花壇 |
■CSVファイルの内容
建物名,管理通番,場所大分類,場所中分類,場所小分類 呉市吉浦市民センター,01234567,建物内部,1F,吉浦支所 呉市吉浦市民センター,01234567,建物内部,1F,男子トイレ 呉市吉浦市民センター,01234567,建物内部,1F,女子トイレ 呉市吉浦市民センター,01234567,建物内部,1F,正面玄関 呉市吉浦市民センター,01234567,建物内部,1F,階段室 呉市吉浦市民センター,01234567,建物内部,1F,共用ロビー 呉市吉浦市民センター,01234567,建物内部,2F,市民センター窓口 呉市吉浦市民センター,01234567,建物内部,2F,音楽室 呉市吉浦市民センター,01234567,建物内部,2F,調理室 呉市吉浦市民センター,01234567,建物内部,2F,図書室 呉市吉浦市民センター,01234567,建物内部,2F,階段室 呉市吉浦市民センター,01234567,建物内部,2F,共用ロビー 呉市吉浦市民センター,01234567,建物内部,3F,学習室1 呉市吉浦市民センター,01234567,建物内部,3F,学習室2 呉市吉浦市民センター,01234567,建物内部,3F,階段室 呉市吉浦市民センター,01234567,建物内部,3F,共用ロビー 呉市吉浦市民センター,01234567,建物内部,4F,ホール 呉市吉浦市民センター,01234567,建物内部,4F,控室1 呉市吉浦市民センター,01234567,建物内部,4F,階段室 呉市吉浦市民センター,01234567,建物内部,4F,共用ロビー 呉市吉浦市民センター,01234567,建物外部,屋上,塔屋 呉市吉浦市民センター,01234567,建物外部,屋上,屋上床 呉市吉浦市民センター,01234567,建物外部,外壁,北面 呉市吉浦市民センター,01234567,建物外部,外壁,南面 呉市吉浦市民センター,01234567,建物外部,外壁,西面 呉市吉浦市民センター,01234567,建物外部,外壁,東面 呉市吉浦市民センター,01234567,建物外部,アプローチ, 呉市吉浦市民センター,01234567,建物周辺,駐車場, 呉市吉浦市民センター,01234567,建物周辺,植栽, 呉市立吉浦小学校,03000012,校舎,1F,正面玄関 呉市立吉浦小学校,03000012,校舎,1F,職員玄関 呉市立吉浦小学校,03000012,校舎,1F,職員室 呉市立吉浦小学校,03000012,校舎,1F,校長室 呉市立吉浦小学校,03000012,校舎,1F,音楽室 呉市立吉浦小学校,03000012,校舎,1F,西階段室 呉市立吉浦小学校,03000012,校舎,1F,東階段室 呉市立吉浦小学校,03000012,校舎,1F,給食室 呉市立吉浦小学校,03000012,校舎,2F,1年1組 呉市立吉浦小学校,03000012,校舎,2F,1年2組 呉市立吉浦小学校,03000012,校舎,2F,西階段室 呉市立吉浦小学校,03000012,校舎,2F,東階段室 呉市立吉浦小学校,03000012,校舎,2F,廊下 呉市立吉浦小学校,03000012,校舎,3F,2年1組 呉市立吉浦小学校,03000012,校舎,3F,2年2組 呉市立吉浦小学校,03000012,校舎,3F,西階段室 呉市立吉浦小学校,03000012,校舎,3F,東階段室 呉市立吉浦小学校,03000012,校舎,3F,廊下 呉市立吉浦小学校,03000012,校舎,3F,工作室 呉市立吉浦小学校,03000012,校舎,3F,倉庫 呉市立吉浦小学校,03000012,体育館,舞台, 呉市立吉浦小学校,03000012,体育館,コート, 呉市立吉浦小学校,03000012,屋外,正門, 呉市立吉浦小学校,03000012,屋外,裏門, 呉市立吉浦小学校,03000012,屋外,グランド, 呉市立吉浦小学校,03000012,屋外,花壇, 呉市立吉浦中学校,04000008,校舎,1F,正面玄関 呉市立吉浦中学校,04000008,校舎,1F,職員玄関 呉市立吉浦中学校,04000008,校舎,1F,職員室 呉市立吉浦中学校,04000008,校舎,1F,校長室 呉市立吉浦中学校,04000008,校舎,1F,図書室 呉市立吉浦中学校,04000008,校舎,1F,西階段室 呉市立吉浦中学校,04000008,校舎,1F,東階段室 呉市立吉浦中学校,04000008,校舎,1F,給食室 呉市立吉浦中学校,04000008,校舎,2F,1年A組 呉市立吉浦中学校,04000008,校舎,2F,1年B組 呉市立吉浦中学校,04000008,校舎,2F,西階段室 呉市立吉浦中学校,04000008,校舎,2F,東階段室 呉市立吉浦中学校,04000008,校舎,2F,廊下 呉市立吉浦中学校,04000008,校舎,3F,2年A組 呉市立吉浦中学校,04000008,校舎,3F,2年B組 呉市立吉浦中学校,04000008,校舎,3F,西階段室 呉市立吉浦中学校,04000008,校舎,3F,東階段室 呉市立吉浦中学校,04000008,校舎,3F,廊下 呉市立吉浦中学校,04000008,校舎,3F,3年A組 呉市立吉浦中学校,04000008,校舎,3F,3年B組 呉市立吉浦中学校,04000008,体育館,舞台, 呉市立吉浦中学校,04000008,体育館,コート, 呉市立吉浦中学校,04000008,屋外,正門, 呉市立吉浦中学校,04000008,屋外,裏門, 呉市立吉浦中学校,04000008,屋外,グランド, 呉市立吉浦中学校,04000008,屋外,花壇, |
場所情報の変換
このケーススタディでは”ctoj”というツールを使いますので、csvファイルを作成する際にはutf-8で書き込んでおきます。
このケーススタディでは以下の様に拡張JSON Schemaを策定しました。拡張JSON Schemaとは、本協議会が公開しているJSON SchemaにcsvからJSONファイルに変換する際のルールを追記したものです。詳しくはツールのサイトを参照してください。「建物」の場所情報の場合は例えば以下となります。
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://ppp-database.org/spec/datamodel/Building/",
"type": "object",
"properties": {
"id": {
"type": "string",
"dataSource": {
"csvAttr": "管理通番",
"prefix": "urn:ngsi-ld:Building:JP9000020342025-"
}
},
"type": {"const": "Building"},
"category": {
"type": "object",
"properties": {
"type": {"const": "Text"},
"value": {"type": "string"}
},
"required": ["type", "value"]
},
"name": {
"type": "object",
"properties": {
"type": {"const": "Text"},
"value": {"type": "string"}
},
"required": ["type", "value"]
},
"nameKana": {
"type": "object",
"properties": {
"type": {"const": "Text"},
"value": {"type": "string"}
},
"required": ["type", "value"]
},
--以下略--
この拡張JSON Schemaを指定してctojツールを実行すると、以下の様に共通データ仕様の形式変換した結果が得られます。下図は変換後の先頭部分です。
[
{
"id": "urn:ngsi-ld:Building:JP9000020342025-01234567",
"type": "Building",
"zones": {
"type": "Text",
"value": [
{
"zoneName": "建物内部",
"subzones": [
{
"subzoneName": [
"1F",
[
"吉浦支所",
"男子トイレ",
"女子トイレ",
"正面玄関",
"階段室",
"共用ロビー"
]
]
},
{
"subzoneName": [
"2F",
[
"市民センター窓口",
"音楽室",
"調理室",
"図書室",
"階段室",
"共用ロビー"
]
]
},
--以下略--