「土地(Land)」の項目への変換ルール
ケーススタディ#1では土地一覧という表は作らず、建物一覧に土地の情報の混在させました。そこで建物一覧から「土地(Land)」に変換します。建物一覧表の例で「土地(Device)」から選択した項目は以下の通りです。
表形式への変換の説明 | |||
---|---|---|---|
管理通番 | id | 本来idは”url:ngsi-ld:Land:”という文字列の後に不動産IDを繋げた形式ですが、本ケーススタディでは自治体の実情に合わせて不動産IDが無いという設定にしました。そこで、代替え手段として”url:ngsi-ld:Land:”の後に国コード、オーナーの法人ID、および管理通番を組み合わせてidを生成する事で、他の土地とidが重複しない様にします。法人番号はオーナー情報表から法人番号を求め、管理通番と組み合わせてidの文字列を作成したいところですが、本ケーススタディはオーナーは一つに決まっている事を前提として、「建物一覧の例」にはオーナーを特定する情報がありませんので、法人番号は固定の文字列としてidを作成します。 | |
(なし) | type | データモデルのtypeを登録します。ここでは”Land”を登録します | |
(なし) | usage | 建物一覧表に無い項目も値を入れられる例として”公益施設用地”を登録します | |
identificationGroup | 不動産ID等を登録するための項目です | ||
土地不動産ID | identification | 土地の不動産IDです。但し、このケーススタディでは自治体の実情に合わせて全て空欄にしてあります。 | |
(なし) | identificationtype | 土地の不動産IDである事を示すため”不動産ID”を登録します | |
address | 土地の住所です。構造がある項目なので、CSVでは項目を分解して一つひとつを項目にしてありました | ||
国 | addressCountry | 所在地の国。日本の場合は”JP”です。そのままコピーします | |
都道府県 | addressRegion | 所在地の都道府県名です。そのままコピーします | |
市区町村 | addressLocality | 所在地の基礎自治体名です。そのままコピーします | |
町字以下 | streetAddress | 所在地の自治体名称より後ろの部分です。丁目より後ろは半角数字をハイフン”-“で結んだ形式です。そのままコピーします | |
郵便番号 | postalCode | 所在地の土地の郵便番号です。国内の場合は連続する7桁の半角数字の列です。そのままコピーします |
CSV表の準備
ケーススタディ#1の建物一覧表の例を使います。
■入力となる表
建物名 | 施設名(カナ) | 管理通番 | 建物不動産ID | 土地不動産ID | 所管部門名 | 部門コード | 所管部門電話番号 | 国 | 郵便番号 | 都道府県 | 市区町村 | 町字以下 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
呉市役所 | クレシヤクショ | 00000001 | JP | 7378501 | 広島県 | 呉市 | 中央4-1-6 | |||||
呉市吉浦市民センター | クレシヨシウラシミンセンター | 01234567 | 市民部吉浦まちづくりセンター | 0402004 | 0823-31-7540 | JP | 7370852 | 広島県 | 呉市 | 吉浦東本町1-7-23 | ||
呉市立吉浦小学校 | クレシリツヨシウラショウガッコウ | 03000012 | 学校施設課 | 0602003 | 0823-25-3447 | JP | 7370853 | 広島県 | 呉市 | 吉浦中町2-6-5 | ||
呉市立吉浦中学校 | クレシリツヨシウラチュウガッコウ | 04000008 | 学校施設課 | 0602003 | 0823-25-3447 | JP | 7370862 | 広島県 | 呉市 | 狩留賀町8-6 |
■CSVファイルの内容
建物名,施設名(カナ),管理通番,建物不動産ID,土地不動産ID,所管部門名,部門コード,,国,郵便番号,都道府県,市区町村,町字以下 呉市役所,クレシヤクショ,00000001,,,,,,JP,7378501,広島県,呉市,中央4-1-6 呉市吉浦市民センター,クレシヨシウラシミンセンター,01234567,,,市民部吉浦まちづくりセンター,0402004,0823-31-7540,JP,7370852,広島県,呉市,吉浦東本町1-7-23 呉市立吉浦小学校,クレシリツヨシウラショウガッコウ,03000012,,,学校施設課,0602003,0823-25-3447,JP,7370853,広島県,呉市,吉浦中町2-6-5 呉市立吉浦中学校,クレシリツヨシウラチュウガッコウ,04000008,,,学校施設課,0602003,0823-25-3447,JP,7370862,広島県,呉市,狩留賀町8-6 |
土地情報の変換
このケーススタディでは”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/Land/",
"type": "object",
"properties": {
"id": {
"type": "string",
"dataSource": {
"csvAttr": "土地不動産ID", ------------------------ 土地の不動産IDからidを作ろうとします
"prefix": "urn:ngsi-ld:Land:", ------------------- 不動産IDの前に付加する文字列です
"alternate": { ----------------------------------- 不動産IDからidを作れない場合の代替手段です
"csvAttr": "管理通番", -------------------------- 管理通番を使います
"prefix": "urn:ngsi-ld:Land:JP0990123456001-" -- 管理通番の前に付加する文字列にはオーナーの法人番号も含めます
}
}
},
"type": {
"type": "string",
"const": "Land"
},
"identificationGroup": { ---------------------------- IDを格納する構造体です
"type": "object",
"properties":{
"type": {"const": "IdentificationGroup"},
"value": {
"type": "array", ------------------------------ 値はarray構造です
"items": {
"type": "object",
"properties": {
"identificationType": {
"type": "string",
"const": "不動産ID", -------------------- identificationTypeに設定する文字列です
"enum": ["法人番号","自治体コード","不動産ID"]
},
"identification": {
"type": "string",
"dataSource": {"csvAttr": "土地不動産ID"} -- 土地不動産IDの値をそのまま入れます
}
},--以下略--
この拡張JSON Schemaを指定してctojツールを実行すると、以下の様に共通データ仕様の形式変換した結果が得られます。下図は変換後の先頭部分です。
[
{
"id": "urn:ngsi-ld:Land:JP0990123456001-00000001", -- 代替え手段でidが作られています
"type": "Land",
"usage": {
"type": "Array",
"value": [
"公益施設用地" ----------------------------------- CSVに無い項目の設定です
]
}, -------------------------------------------------- 土地不動産IDは空欄だって野でidentificationGroupは作られませんでした
"address": {
"type": "PostalAddress",
"value": {
"addressCountry": "JP",
"addressRegion": "広島県",
"addressLocality": "呉市",
"streetAddress": "中央4-1-6",
"postalCode": "7378501"
}
}
},
{
"id": "urn:ngsi-ld:Land:JP0990123456001-01234567",
"type": "Land",
"usage": {
"type": "Array",
"value": [
"公益施設用地"
]
},
"address": {
"type": "PostalAddress",
"value": {
"addressCountry": "JP",
"addressRegion": "広島県",
"addressLocality": "呉市",
"streetAddress": "吉浦東本町1-7-23",
"postalCode": "7370852"
}
}
},
--以下略--