2012/07/06


kmlファイル作成マニュアル


Excelファイルをcsvファイルに変換したものから
make_kml.phpを使用し,kmlファイルを作成します





◆必要ファイル

  • csv_file.csv
  • kml_template.txt
  • make_kml.php

  • ◆実行環境

  • プログラミング言語PHPのインストールが必要です.
  • PHPのインストール方法等はこちらを参考にしてください.


  • ◆実行準備

    csvファイルの作成方法

  • 空行/タイトル行は削除します.(A1セルからデータが始まるようにする)
  • 「火山名,読み,アルファベット,緯度,経度,サムネールリンク先,個別火山リンク先」の順に並んでいます.
  • 文字コードはSJIS(Shift-JIS),もしくはUTF-8対応です.

    1. Excelでcsvにしたいシートを表示させた状態で,名前を付けて保存を選択します.
    2. ファイルの種類:「CSV(カンマ区切り)(*.csv)」を選択,ファイル名:「csv_file.csv」と入力します.
    3. 「保存」をクリックするとメッセージが2回表示されるので,それぞれ「OK」,「はい」をクリックします.
    4. 開かれたままのExcelファイルを閉じようとすると,メッセージが表示されるので「保存しない」をクリックして終了します.

    kml_template.txt の修正方法


  • kmlファイルは,テンプレートファイル(kml_template.txt)に基づいて作成されます.
  • ヘッダー1,ヘッダー2,本文,フッターの4行に分かれています.
  • フッター以降に文章等追記することは可能,それ以外は不可です.(※1-4行目の間に改行は加えないでください)
  • アイコンの画像を変えたいときは,2行目の「
    <Icon><href>
    」と「
    </href></Icon>
    」の間のパスを変更します.
  • 吹き出しの内容を変更したいときは,3行目の「
    <description><![CDATA
    」と「
    ]]></description>
    」の間を編集します.(記述方法はHTMLと同じです)
  • テンプレートファイル内では,以下の変数が利用できます.

  • 変数名説明
    {%name}火山名
    {%name_j}読み
    {%name_e}アルファベット
    {%longitude}経度
    {%latitudes}緯度
    {%img}サムネールリンク先
    {%html_link}個別火山リンク先


  • kml_template.txtの内容(※見やすいように改行が入っています)

  • 行番号ソース
    1<?xml version="1.0" encoding="UTF-8"?>
    2<kml xmlns="http://earth.google.com/kml/2.2"><Document><name>日本の火山</name>
    <Snippet maxLines="1"><![CDATA[産業技術総合研究所 日本の火山]]></Snippet>
    <Style id="styleinfo"><IconStyle>
    <Icon><href>
    TMNL/icon.png
    </href></Icon>

    <hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction"/></IconStyle> <LabelStyle><scale>0</scale></LabelStyle><BalloonStyle><text>
    <![CDATA[$[description]]]></text></BalloonStyle></Style>
    3<Placemark><Snippet maxLines="1"><![CDATA[{%name_j}/{%name_e}<br/>]]></Snippet>
    <name>{%name}</name>
    <description><![CDATA[
    <font size=5><B>{%name}</B></font><br/>
    {%name_j}<br/>{%name_e}<br/><br/><div align="center"><a href="{%html_link}">
    <img src="http://staff.aist.go.jp/nakano.shun/{%jpg}"></a></div>
    <a href="{%html_link}"><div align="right"><font size=3>詳細はこちら</font></div>
    </a><br/><div align="right">産業技術総合研究所
    <a href ="http://riodb02.ibase.aist.go.jp/strata/VOL_JP/index.html">日本の火山</a>
    </div>
    ]]></description>
    <styleUrl>#styleinfo</styleUrl><Point>
    <coordinates>{%longitude},{%latitudes}</coordinates></Point></Placemark>
    4</Document></kml>



    make_kml.php の修正方法

    ・csvファイルの文字コードがUTF-8の場合は下記のように修正してください.(10-14行目/17行目)
    文字コード行番号ソース
    UTF-8

    10-14行目をコメントアウト
    17行目を有効にする
    10
    11
    12
    13
    14

    17
    // $text = file_get_contents( $csv_file );
    // $text = mb_convert_encoding($text,"UTF-8","SJIS");
    // $fp_csv = fopen( "php://temp","r+" );
    // fwrite( $fp_csv,$text );
    // rewind( $fp_csv );

    $fp_csv = fopen( $csv_file, 'r' );

    ◆実行

    1. コマンドライン(cmd.exe)を起動します.
    2. C:\dataフォルダに移動します.(「cd c:\data」と入力し,enter)
    3. phpファイルを実行します.(「php make_kml.php」と入力し,enter)
    4. volcano.kmlファイルが作成されます





  • 参考(kml_template.txtの修正例 ※見やすいように改行が入っています)

  • 行番号ソース
    1<?xml version="1.0" encoding="UTF-8"?>
    2<kml xmlns="http://earth.google.com/kml/2.2"><Document>
    <name>
    タイトル1
    </name><Snippet maxLines="1"><![CDATA[
    サブタイトル1
    ]]></Snippet>
    <Style id="styleinfo"><IconStyle><Icon><href>
    http://maps.google.com/mapfiles/kml/paddle/red-circle.png</href></Icon>
    <hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction"/></IconStyle>
    <LabelStyle><scale>0</scale></LabelStyle><BalloonStyle><text>
    <![CDATA[$[description]]]></text></BalloonStyle></Style>
    3<Placemark><Snippet maxLines="1"><![CDATA[
    タイトル2
    ]]></Snippet>
    <name>
    サブタイトル2
    </name><description>
    <![CDATA[
    テキスト
    ]]></description><styleUrl>#styleinfo</styleUrl>
    <Point><coordinates>140.13406,36.06169</coordinates></Point></Placemark>
    4</Document></kml>