Posts Tagged ‘kml’

.kml to .ai example "A"



これ(cap_a.kmz)が


これ(cap_a.pdf)ね

.kmlトラックデータを.aiに変換

なんとかできたので自分用メモ。

 

作業の流れは、
・Emacsで.kml開いて経度・緯度の数値の部分を抜き取ってコマンド使って書き換え
・NodeBoxで開いてRunしてベクターデータのPDFに出力。
・イラレで開いて大きさ縦横比等を修正して完成。

 

厳密にはけっこうアバウト。
そもそもGPSデータが地図とずれずれなのでそんな細かいところは気にしない。
ちなみに自分が使ってるハンディGPSはGarmin eTrex Legend HCx
以下手順詳細。

 

 

 

.kmlファイルをEmacsで開く


 

<cordinate></cordinate>でかこまれているところ以外を削除


 

経度,緯度,高度[空白]という順で数値が並んでいるので、空白の所を改行に変換
 >まず高度の小数点以下(.00000000000001とかなってるところ)を削除
  >M-x(option+x) replace-regexpで.00000000000001検索して置き換え文字は指定せずそのままreturn
  >同様の手順で…002, …0003も削除
 >Emacsでどうしても改行に置換できなかったのでSmultronで空白を改行に置換、Emacsに戻す


 

行末の,以下数値(高度)を削除
 >M-x replace-regexp RET ,[0-9][09]$(行末の二桁の数値) RET (何もなし)RET
 >同様の手順で1桁、3桁、負の数も削除


 

経度・緯度の数値の小数点を右に二つずらす
 >イラレでは経度・緯度を角度ではなく数値として扱うため、そのままじゃ変化量が小さすぎて再現できない
 >キーボードマクロ機能を使って小数点移動動作を記録してそれを繰り返す
  >C-x (
  >カーソルを小数点までずらし小数点を削除し二つカーソルをずらし小数点を打ち次の行頭までカーソルを移動
  >C-x )
  >C-u (行の数)C-x e
  >一度Smultronで「,」を改行に変換
  >Emacsに戻してキーボードマクロ使って二行目から一行間隔の小数点の位置もずらす
  >二行目の行頭に「,」入れて改行削除してキーボードマクロ使ってそれを繰り返し実行


 

NodeBoxで実行できるかたちに整える
 >行頭に”lineto(“行末に”)”を挿入(line()だとパスが閉じてないのでダメ)
  >M-x replace-regexp RET ^ RET linto( RET
  >M-x replace-regexp RET $ RET ) RET
 >一行目の”lineto”を”beginpath”に変更
 >最終行に”endpath()”を追加
 >頭に”size(15000,15000)”、”stroke(0.2)”、”strokewidth(0.1)”の三行を追加


 

NodeBoxにコピペしてRun


 

File > Export as Image… > PDFで保存


 

IllstratorでPDFを開く


 

アウトラインを削除、手動で回転させ、サイズを大きくする


 

縦横比を調節
 >経度の1秒と緯度の1秒では実際の長さが違うのでだいたい正しい比率に直す
 >ここの回答によるとだいたい、緯度は1秒31m、経度は1秒25mらしいので
  だいたい30:25=1:0.83くらいなので、xの長さに0.83かける


 

完成!

ground overlay


more