今日の作業めも
調べごとがあったので、こちらのサイトを参考に国土数値情報の駅データを、gdalという地図画像ライブラリのユーティリティであるogr2ogrを利用して同一名称の駅毎のKMLファイルに出力してみました。
1. 駅名リストの抽出
ogr2ogr -f csv stnlist.txt N02-08_EB03.shp -select STN
駅名のシードデータを作るため、shapeファイルからSTNフィールドのみをCVSに出力しました。
2. 同じ駅名を連番のkmlに変換
cat stnlist.txt/N02-08_EB03.csv | nkf --utf8 | sort | uniq -c | awk '{if ($1>4)print $2}' | nkf -s | awk ' {print "ogr2ogr -f kml "NR".kml N02-08_EB03.shp -overwrite -where STN=" $1};' | sh
駅名シードファイルから5件以上重複する駅名を取り出して、ogr2ogrに渡しています。-whereオプションで駅名フィールドの完全一致を取り出しました。
ogr2ogr -f kml new.kml source.shp -overwrite -where STN=SJIS駅名
3. 文字コードの変換
find . -name "*.kml" -exec nkf --utf8 --overwrite {} \;
出力したKMLがSJISなため、UTF-8に一括変換しました。
※駅データは、事前に変換ツールでShapeファイルに変換しています。
駅別KMLデータ一覧(5件以上同一駅名があったもの)
三田駅 google map
上野駅 google map
中野駅 google map
京橋駅 google map
京都駅 google map
仙台駅 google map
住吉駅 google map
元町駅 google map
八丁堀駅 google map
北千住駅 google map
名古屋駅 google map
品川駅 google map
大分駅 google map
大宮駅 google map
大手町駅 google map
大曽根駅 google map
大町駅 google map
大船駅 google map
大阪駅 google map
大阪上本町駅 google map
天王寺駅 google map
姫路駅 google map
小倉駅 google map
小田原駅 google map
尼崎駅 google map
岡山駅 google map
市役所前駅 google map
新大阪駅 google map
新宿駅 google map
新橋駅 google map
新潟駅 google map
日暮里駅 google map
日本橋駅 google map
東京駅 google map
梅田駅 google map
横浜駅 google map
橋本駅 google map
池袋駅 google map
浅草駅 google map
渋谷駅 google map
熱海駅 google map
白石駅 google map
盛岡駅 google map
県庁前駅 google map
神保町駅 google map
神田駅 google map
福島駅 google map
秋葉原駅 google map
立川駅 google map
米原駅 google map
西船橋駅 google map
追分駅 google map
郡山駅 google map
金山駅 google map
飯田橋駅 google map
高崎駅 google map
高田駅 google map
鹿児島中央駅 google map
黒川駅 google map
合わせて読む
dbfファイルの文字コード変換 3. 文字コードの変換を事前に変換するパターンです
0 件のコメント:
コメントを投稿