Fusion Tables -> マイマップからの移行 CSV 編

Posted by muchag | Excel VBA,Fution Tabels | 2011-07-17 (日) 22:35:23

Fusion Tables -> マイマップからの移行 KML 編

CSV

テキストファイル。

前回の記事で書いた Google マップの KML ファイルを
CSV 形式に変換して Excel で編集して
Fusion Tables に取り込むことができる。
 

KML の問題点

前回の記事に書いたけど
KML ファイルでマイマップの情報を Fusion Tables に移行させると
今まで付けてきたマーカーが、1種類に変換されてしまう。

そこで、KML ファイルからマーカーの情報を取り出して
ちゃんとテーブルから反映させるために
CSV 形式にて移行することにした。
 

変換作業

KML ファイルは XML 形式なので
CSV 形式にするには一手間必要。

そこで、その手間を Excel に担当してもらうことにした。
 

KML ファイルの取得

マイマップの KML ファイルの取得方法は
Fusion Tables -> マイマップからの移行 KML 編
参照。
 

CSV に変換

自作 Excel VBA マクロを用いる。
KML2CSV_0.0.2.xls

以前、WordPress プラグイン QuickTags 用の マクロ を公開したが
今回も、いつも情報やらライブラリやらをいただいてばかりの私のちっさな恩返しとして、
こんな私の稚拙なマクロでも役に立つ奇跡を祈りつつ公開してみる。
 

利用上の注意
  • このマクロを利用して何か問題・損害が発生しても私は一切関知しません
  • 必ず「自己責任」でどうぞ
  • 私が必要とする狭い利用例を元に製作してあるので、機能が足りないとか誤変換とかの可能性は大
  • Fusion Tables は、現在 Beta 版なので仕様変更の可能性は大。そうしたら使えなくなる可能性は極大

KML2CSV_0.0.2.zip (40,600byte)

Windows XP Pro SP3 & Excel 2003 VAB にて作成および動作確認。
Google Fusion Tables (Beta) にて動作確認。
2011-07-17 現在。
文字コードは UTF-8 。

【更新履歴】
v 0.0.2 2011-07-17
バグフィクス。

v 0.0.1 2011-07-17
新規作成。

 

完全自動変換


 

1.「KML => CSV 自動変換」ボタンをクリック(上図参照)

 

2..kml ファイルを選択する

 

3._auto.csv ファイルが .kml ファイルと同じディレクトリに保存される

 

テーブル手動編集

1.「KML ファイル読み込み」ボタンをクリック(上図参照)
CSV シートの初期化

CSV シートに残っている
前回の作業結果をクリアする。

もちろん初めて利用される方にはもんだいありませんが、
綺麗サッパリなくなるので、
2回目以降の方で不安な場合は、シートをコピーしておいてください。

 

マイマップから DL した .kml ファイルを指定

 

CSV シートに読み込まれる


これを読み込むとこうなる。

タグの除去

description カラムについて
独断と偏見により不要と思われるタグ系文字列を除去してあります。

あくまでも私の環境で不要と感じただけなので
もし、必要だと感じられる方がおられたらすみません・・・。
 

2.「CSV」シートを自身で編集
1行目はフィールド(カラム)名

マイマップから取得した .kml ファイルの項目を
私が勝手にカスタマイズして上図のように次のようなカラム名を付けてある。

  1. name タイトル部
  2. icon マーカー名称
  3. geometry ポイントの緯度・経度
  4. description 詳細テキストエリア内のテキスト

第4カラムの description のみ改行に合わせて
次々とセル分割して入れてある。

これを用途に合わせて変更する。

左図例では
description の代わりに
zip, phone, content
としている。

 
この例では、データが少ないのですんなりいくが
多い場合はカラムとデータがズレズレになるので
面倒でも編集する・・・orz
 

セル内改行

今回の例に合わせると
歌詞は1つのセルにまとめたい。
でも、表示するときは改行を入れたい。

そういうときは、Alt + Enter でセル内改行を利用する。

こうしておけば、本番でも1つの項目内で改行される。

 

3.「CSV ファイル保存」ボタンをクリック(上図参照)

KML ファイルと同じディレクトリに
ファイル名_manual.csv
という名前で保存される。

前述の例を変換するとこうなる。

  1. "name","icon","geometry","zip","phone","content"
  2. "富士山","volcano","<Point><coordinates>138.731567,35.362873,0.000000</coordinates></Point>","123-4567","0120-xxxx-xxxx","頭を雲の上に出し<br />四方の山を見下ろして<br />雷様を下に聞く<br />富士は日本一の山"
  3. "厳島神社","picnic","<Point><coordinates>132.319870,34.295929,0.000000</coordinates></Point>","","",""
  4. "ラベンダーの森","tree","<Point><coordinates>142.340302,43.366375,0.000000</coordinates></Point>","","",""

 
タグが入っている場合
属性値を囲む (ダブルクォーテーション)は
Fusion Tables 読み込み用に二重に書き換えられる。
 

アップロード

Google Fusion Tabels にアクセスして
左ペインの [New tables]-[Import table]

 
ブラウザによってちょっと表示が変わるが
(左図は Google Chrome)
ファイル選択ボタンから

 
先ほど作成した
ファイル名_manual.csv
を選択する。

 
今回作成した CSV ファイルは
カンマ区切り
UTF-8
なので、変更の必要なし。

「Next」

 
「Next」

 
「Next」

 
インポート成功!

 

マップ表示

マップを見るには
[Visualize]-[Map]

 
[Configure styles]

 
① Column タブをクリック

② Use icon specified in a column をチェック

③ ドロップダウンから icon を選択

④ save をクリック

 
元通りのアイコンでマイマップが表示された♪

Excel VBA,Fution Tabels | 2011-07-17 (日) 22:35:23 |

Fusion Tables -> マイマップからの移行 KML 編

Posted by muchag | Fution Tabels | 2011-07-17 (日) 19:58:25
マイマップ

とっても便利な マイマップ

Google のサービスで
ただでさえ便利な Google マップ を自分専用にカスタマイズできる
っていうので、初めて触ったときには大いに感動したなぁ。
 

サービス内容の変更

でも、Google はこのサービスの提示手法を変更しようとしているようで
現在は「マイマップ」は「マイプレイス」に組み込まれた。
 

マイマップの難点

ところで、システム好きの私が
マイマップで唯一困っていたのが
書く度に書式がバラバラになること。

ポイントの説明がテキストエリアだったのが原因。
 

Fusion Tables への移行

この問題が Fusion Tables と連携させることで解消できることがわかったのと
Android からマイマップを利用するには
どうやら Fusion Tables を介さないとだめらしいので
Fusion Tables に移行してみることにした。
 

KML

移行手法は色々とあるみたいだけど
今回は KML 編。

KML というのは、地図上の情報を
XML 形式で文字列に表したもの。
Google Code:KML リファレンス
 

具体的な移行作業
KML ファイルの取得

Google マップ にアクセスして
「マイプレイス」をクリック。

 
一覧から当該マップをクリック。

 
当該マップが開いたら「KML」をクリック。

 
そうすると当該マップの KML ファイル(今回は test.kml )を DL できる。

 

Fusion Tables へインポート

Google Fusion Tabels にアクセスして
左ペインの [New tables]-[Import table]

 
ブラウザによってちょっと表示が変わるが
(左図は Google Chrome)
ファイル選択ボタンから

 
当該ファイルを選択する。

今回の例では test.kml 。

 
元の画面に戻るので
当該ファイルが選択されたことを確認して
「Next」

 
基本的には何せずに「Next」

 
はい!
無事に Fusion Tables にテーブルが読み込まれ完了。

 

マップ表示

マップを見るには
[Visualize]-[Map]

 
マップ表示当初は
Data may still be loading.
Drag or refresh the page to find out.
となっているので、何かする・・・。

 
試しにホイールで1段階引き画面にした結果が左図。

マイマップでポイントしていた3箇所にマーカーがちゃんと付いているのがわかる。

 

問題点

細かいことは抜きにしてポイントマーカーがデフォルトの赤丸に統一されている。
あんなに色々とマーカーしてたのにぃぃぃぃ。

現在の Fusion Tables は Beta 版なので仕方ないのかも。
本サービスでは、上手く移行できることに期待。

なんて、ノンビリしたことはやめて
他の手法を試してみる。
Fusion Tables -> マイマップからの移行 CSV 編
 

中身

ちなみに KML ファイルの中身は・・・。
 
例えば左図のようなマイマップがあるとする。

 
上例マイマップの KML ファイルは以下のようになる。

test.kml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <kml xmlns="http://earth.google.com/kml/2.2">
  3. <Document>
  4.   <name>test</name>
  5.   <description><![CDATA[]]></description>
  6.   <Style id="style1">
  7.     <IconStyle>
  8.       <Icon>
  9.         <href>http://maps.gstatic.com/intl/ja_jp/mapfiles/ms/micons/volcano.png</href>
  10.       </Icon>
  11.     </IconStyle>
  12.   </Style>
  13.   <Style id="style3">
  14.     <IconStyle>
  15.       <Icon>
  16.         <href>http://maps.gstatic.com/intl/ja_jp/mapfiles/ms/micons/picnic.png</href>
  17.       </Icon>
  18.     </IconStyle>
  19.   </Style>
  20.   <Style id="style2">
  21.     <IconStyle>
  22.       <Icon>
  23.         <href>http://maps.gstatic.com/intl/ja_jp/mapfiles/ms/micons/tree.png</href>
  24.       </Icon>
  25.     </IconStyle>
  26.   </Style>
  27.   <Placemark>
  28.     <name>富士山</name>
  29.     <description><![CDATA[<div dir="ltr">123-4567<br>0120-xxxx-xxxx<br>頭を雲の上に出し<br>四方の山を見下ろして<br>雷様を下に聞く<br>富士は日本一の山</div>]]></description>
  30.     <styleUrl>#style1</styleUrl>
  31.     <Point>
  32.       <coordinates>138.731567,35.362873,0.000000</coordinates>
  33.     </Point>
  34.   </Placemark>
  35.   <Placemark>
  36.     <name>厳島神社</name>
  37.     <description><![CDATA[]]></description>
  38.     <styleUrl>#style3</styleUrl>
  39.     <Point>
  40.       <coordinates>132.319870,34.295929,0.000000</coordinates>
  41.     </Point>
  42.   </Placemark>
  43.   <Placemark>
  44.     <name>ラベンダーの森</name>
  45.     <description><![CDATA[]]></description>
  46.     <styleUrl>#style2</styleUrl>
  47.     <Point>
  48.       <coordinates>142.340302,43.366375,0.000000</coordinates>
  49.     </Point>
  50.   </Placemark>
  51. </Document>
  52. </kml>
Fution Tabels | 2011-07-17 (日) 19:58:25 |

Fusion Tables

Posted by muchag | Fution Tabels | 2011-07-17 (日) 19:00:26

Google が提供しているサービスの1つ。

無料のデータベースだと思えばいいのかしら。

まだほとんど使っていないので詳細は不明だけど
データテーブルを作っておけば
そこからチャートにできたりなんだりするみたい。

Google Fusion Tabels
2011-07-17 現在、Beta 版。

当然ながらアカウント依存。
 

Top
All items

当該アカウントに登録されている全てのテーブル。

 

Owned by me
Shared with me

共に字面から想像はつくけど、試してないのでまた今度。
 

Trash

これもまんま。
ゴミ箱。

Windows と同じで、テーブルを普通に削除した場合は
この「Trash」に移される。

よって、完全の削除するためには
Trash 画面で再度削除すること。
 

Public tables

公開設定されいる他人のテーブル一覧。

この前の大震災のとき「避難所一覧」とか「計画停電」とか
あちこちで情報が出ていて、どこから情報を引っ張っているのかと思っていたけど
なるほど、こういうところから引っ張った人もいるのね~。

 

マップ連携

Fusion Tables -> マイマップからの移行 KML 編
Fusion Tables -> マイマップからの移行 CSV 編

Fution Tabels | 2011-07-17 (日) 19:00:26 |