Menu

Coppell Technologies
Fiwareで都市OSを動かしてみよう
NGSI-LDにも挑戦
データ仕様の現状と課題
スマートシティの標準規定(案)
データモデルのユースケース


Column
Link集
用語集


Coppell

Technologies

jtoc (ジェイトゥーシー) -- 更新中


■機能概要
 PPP共通仕様協議会が定めるNGSI V2の規格に合致するJSON文をcsvに変換します

■価格:無償

■入手方法
 このリンクをクリックする事によりソースプログラムを入手できます

■特記事項
 このプログラムは自由に変更や配付する事が出来ますが、配付時のWebページやreadmeなどに"Powerd by Coppell Technologies"、"出典: http://www.coppelltech.jp/"または"Copyright: Coppell Technologies""のどれかを記載してください

■機能詳細
Inputファイル

inputfile 入力となるJSON文が格納されているファイル。コードはUTF-8。inputfileの形式はオプションjsontypeの説明を参照されたい

schema JSONからcsvに変換する際のattributeと項目との対応を定義するファイル。コードはUTF-8。形式はkey-Valureペアのであり、{<key-Valueペア> <key-Valueペア>,<key-Valueペア>の形式。
各<key-Valueペア>は、<Atribute指定>:<csv項目指定>の形式。
<Attribute指定>は、Attribute nameまたは、Attribute nameとSub-attribute nameをカンマほ挟んで繋げた形式。尚、IdentificationGroupとGeoJSONは、前記の形式に加え、特定の内容を取り出す機能をサポートする。サポートする機能は以下の通り



IdentificationGroup




<Attribute指定>/IdentificationType : Identificationtypeに対応するIDを取り出す



GeoJSON




<Attribute指定>/Point   : 座標点を取り出す
<Attribute指定>/Polygon : ポリゴンを取り出す
 key-valueペアのValueは生成するcsvの項目名を指定する


paramfile例



{
   "id": "ID",
   "acquisitionPrice": "購買価格",
   "address.streetAddress": "町字以下",
   "address.addressLocality": "市区町村",
   "address.addressRegion": "都道府県",
   "address.postalCode": "郵便番号",
   "coverageRatio": "建ぺい率",
   "description": "説明",
   "floorAreaRatio": "容積率",
   "fireZone": "防火地域",
   "identificationGroup": "ID群",
   "identificationGroup/不動産ID": "不動産ID",
   "landUseZone": "用途地域",
   "location": "座標",
   "location/Polygon": "ポリゴン",
   "location/Point": "代表点",
   "ownership": "所有形態",
   "refDepartment": "連絡先部門",
   "siteArea": "敷地面積",
   "usage": "主要用途"
}
Output

outputfile :出力するcsvファイル。UTF-8。paramfileに指定した項目順に項目は並ぶ。対応するAttributeがが無い場合は空文を出力する。
オプション

inputfile inputfileのファイル名。既定値はLandTest.json

inputdir inputfileが存在するティレクトリのバス。既定値は"c:\test\"

outputfile outputfileのファイル名。既定値は"Land-csv.csv"

outputdir outputfileが存在するティレクトリのバス。既定値は"c:\test\"

paramfile paramfileのファイル名。既定値は"="Land-jtoctable.json"

paramdir paramfileが存在するティレクトリのバス。既定値は"c:\test\"

outmode 既存のoutputfileを置き換えるか、後ろに行を追加するかの指定



outmode=create: 置き換える。最初の行には項目名が出力される(既定値)



outmode=append: 追加する。最初の行に項目名を出力しない

jsontype inputfileのJSON文の形式。JSONとしては以下の3種類をサポートする



jsontype=entity : 波括弧に囲まれるひとつのEntity
inputfileの例。1件のEntityしか存在できない。outmode=createの場合は項目名の行含め2行のcsvファイルが出力され、outmode=append場合にはoutputfileには1行のcsvデータが追記される




       {
           "id": "urn:ngsi-ld:Land:0000000002002-0000",
           "type": "Land",
           (中略)
       }



jsontype=array : 角かっこに囲まれるEntityの列
inputfileの例。この例では3件のEntityが存在する。outmode=createの場合はoutputfileには項目名の行含め4行のcsvファイルが出力され、outmode=append場合にはoutputfileには3行のcsvデータが追記される




[
       {
           "id": "urn:ngsi-ld:Land:0000000002002-0000",
           "type": "Land",
           (中略)
       },
       {
           "id": "urn:ngsi-ld:Land:0000000002002-0001",
           "type": "Land",
           (中略)
       },
       {
           "id": "urn:ngsi-ld:Land:0000000002002-0002",
           "type": "Land",
           (中略)
       }
]



jsontype=batch : op/updateに対し指定する、一括登録のためのJSON文(既定値)
inputfileの例。この例では3件のEntityが存在する。outmode=createの場合はoutputfileには項目名の行含め4行のcsvファイルが出力され、outmode=append場合にはoutputfileには3行のcsvデータが追記される




{
   "actionType": "append",
   "entities": [
       {
           "id": "urn:ngsi-ld:Land:0000000002002-0000",
           "type": "Land",
           (中略)
       },
       {
           "id": "urn:ngsi-ld:Land:0000000002002-0001",
           "type": "Land",
           (中略)
       },
       {
           "id": "urn:ngsi-ld:Land:0000000002002-0002",
           "type": "Land",
           (中略)
       }
   ]
}