「KML レンダリングのサイズと複雑さの制限」について

2,082 views
Skip to first unread message

Toshiya TSURU

unread,
Jan 17, 2011, 4:38:31 AM1/17/11
to Google-Maps-API-Japan
こんにちは、津留 と申します。

下記ページで記載されている制限について、
ご存じの方に是非とも教えて頂きたく。
http://code.google.com/intl/ja/apis/kml/documentation/mapsSupport.html

「Google マップでの KML レンダリングのサイズと複雑さの制限」の中に
「ドキュメント全体でのアイテムの総数の上限 1,000」とありますが、
ここでいう「アイテム」とは、KML では 「Placemark」タグにあたるものを指しているのでしょうか?

ご存じのかたいらっしゃいましたら、ご教示頂けると幸いです。
よろしくお願い致します。

Yukio Andoh

unread,
Jan 17, 2011, 5:09:34 AM1/17/11
to google-map...@googlegroups.com
津留さん、こんにちは。
安藤ともうします。

ここでいうKMLのアイテムはポイント数です。
実質 <Placemark> タグと解釈しても多くの場合同じです。

例えば、GPSロガーなどで移動しながら軌跡を記録した場合、
数万ポイントのデータになります。これを KML に変換した場合、
Google Maps では 1000ポイント以上の場合、
そのままでは読み込めませんので、
ポイントポイントを間引く必要がでてきます。

なお、Google Earth は 1,000の上限が事実上無いので、
用途によっては、Google Earth を使うのも手です。

余談ですが、GPSログを間引いたり、KMLに変換するには
「轍(わだち)」というツールがおすすめです。
http://wadachi.cyclekikou.net

// Yukio Andoh

2011/1/17 Toshiya TSURU <turut...@gmail.com>:

> --
> このメールは Google グループのグループ「Google-Maps-API-Japan」の登録者に送られています。
> このグループに投稿するには、google-map...@googlegroups.com にメールを送信してください。
> このグループから退会するには、google-maps-api-...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/google-maps-api-japan?hl=ja からこのグループにアクセスしてください。
>
>

--
// Yukio Andoh

Toshiya TSURU

unread,
Jan 17, 2011, 5:16:31 AM1/17/11
to google-map...@googlegroups.com
なるほど。安藤さんありがとうございます。

「ポイント数」を正確に理解できておらず、
もう少し詳しく伺ってもよろしでしょうか。

たとえば、<Placemark>の中に<Polygon>タグを入れたうえで、
その<Polygon>の中に 1,000 個以上の座標点がある場合はアウトということでしょうか?

> 余談ですが、GPSログを間引いたり、KMLに変換するには
> 「轍(わだち)」というツールがおすすめです。
> http://wadachi.cyclekikou.net

こちら参考になります。ありがとうございます!

2011/1/17 Yukio Andoh <yukio...@gmail.com>:

--
Toshiya TSURU <turut...@gmail.com>
http://twitter.com/turutosiya

Yukio Andoh

unread,
Jan 18, 2011, 8:19:39 AM1/18/11
to google-map...@googlegroups.com
津留さん、こんにちは。
安藤です。

Google Maps のアイテム 1,000個の話です;

#実際に試してみたわけではないので、確証は無いのですが、
<Placemark> の中に複数の <Polygon> タグが複数入っているのは
アイテム個数の対象ではなく、<Placemark> が 1,000個を超えるのが
ダメということだと思います。
ただし、1,000個の <Placemark> 全部に 1000ポリゴン入っているのが
動くのか? というのは確証は無く、多分動かないかと。

ちなみに、<Placemark> で 1,000個設定できたとしても、
Maps の画面に表示されるのは、縮尺によもよりますが、
50個程度のはずです。

また、Google Maps 的には、いつのまにかドキュメンテーションにある
制限が緩和されていることもあるので、
サンプルを作って実際の動作を検証してみることをおすすめします。

#私自身が試して、報告できなくてすいません。
他にも詳しい人に聞いてみて、何かわかれば、ご報告します。

Toshiya TSURU

unread,
Jan 19, 2011, 4:43:20 AM1/19/11
to google-map...@googlegroups.com
安藤さん、ありがとうございます。
津留です。

↓のページでいろいろ実験を進めております。
http://dl.dropbox.com/u/191286/20110117/map.html

現状、「岩手県」、「宮城県」が表示出来ない状態です。


http://code.google.com/intl/ja/apis/kml/documentation/mapsSupport.html
↑で記載されている。「読み込むファイルのサイズの上限(未加工の KML、未加工の GeoRSS、圧縮した KMZ)」
→ 3 MB に引っかかっているのだと思っています。

と、ここで気になったのですが、
「未加工のKML」(raw KML) と「圧縮されていない KML」(uncompressed KML)
とは何が違うのかご存じでしょうか?


いろいろ謎ですね。

2011/1/18 Yukio Andoh <yukio...@gmail.com>:

Yukio Andoh

unread,
Jan 19, 2011, 5:59:01 AM1/19/11
to google-map...@googlegroups.com
津留さん、
安藤です。

KML のリミット問題の件です。

記載のとおり、未加工の KML と、圧縮されていない KML です。

つまり、何にも加工していない KML は 3MB まで。
圧縮してある KML ファイル、つまり KMZ ファイルも 3MB まで。

さらに、その圧縮している KMZ ファイルのもともとの大きさ、
圧縮ファイルを解凍して展開した状態で 10MB までということです。

ここでやりたいことを簡単に実現するには、
04_miyagi.kml ファイルを zip 圧縮し、
04_miyagi.kml.zip となったものと 04_miyagi.kmz とファイル名を変えます。

これで目的は達成されるのではないでしょうか?
ちなみにちゃんと表示されているように見えます。ご確認ください。

http://maps.google.com/?q=http://opengl.jp/tmp/04_miyagi.kmz

// Yukio Andoh

2011/1/19 Toshiya TSURU <turut...@gmail.com>:

Toshiya TSURU

unread,
Jan 19, 2011, 6:32:54 AM1/19/11
to google-map...@googlegroups.com
安藤さん、いつもありがとうございます。

> つまり、何にも加工していない KML は 3MB まで。
> 圧縮してある KML ファイル、つまり KMZ ファイルも 3MB まで。
> さらに、その圧縮している KMZ ファイルのもともとの大きさ、
> 圧縮ファイルを解凍して展開した状態で 10MB までということです。

ようやく、理解できました。ありがとうございます。
そして、KMZ 化して宮城・岩手が出来ました!

http://dl.dropbox.com/u/191286/20110117/map.html


北海道のKMZが、解凍後10MB を超えるので、そこが課題です。。
ありがとうございます!


2011/1/19 Yukio Andoh <yukio...@gmail.com>:

Yukio Andoh

unread,
Jan 19, 2011, 6:38:01 AM1/19/11
to google-map...@googlegroups.com
安藤です。

KMLのサイズ問題に関して;

お使いの KML ファイルをどうやって生成しているのかにもよりますが、
中に記述されている数値の精度を落とすと、目標の10MBに収まると思います。

例えば、
45.190159999999999 などと書かれている数値は
45.19016 で
良いですよね。

Toshiya TSURU

unread,
Jan 19, 2011, 6:45:48 AM1/19/11
to google-map...@googlegroups.com
なるほど!たびたび有難うございます。

> KML ファイルをどうやって生成しているのか

については、↓にちょうど今まとめていたところです。
http://d.hatena.ne.jp/turutosiya/20110119/p1

国土交通省が提供する JPGIS データを変換・加工して
KMLを作成しております。

2011/1/19 Yukio Andoh <yukio...@gmail.com>:

Toshiya TSURU

unread,
Jan 20, 2011, 4:14:45 AM1/20/11
to google-map...@googlegroups.com
こんにちは。


安藤さんにアドバイス頂き、KML で約7MBまで削減出来ました。

現在は次のようなコードで KML のレイヤーを読みんでいますが、
こちらは非同期での動作のようです。

var layer = new google.maps.KmlLayer(
'http://dl.dropbox.com/u/191286/20110117/15_nigata.kml',
{
map: map,
preserveViewport: true
});

アイテムの描画が完了したときに,処理を行う場合、皆様どのようにされてますでしょうか。
v2 の頃までは、「addoverlay 」イベントとかがあったように記憶しているのですが。

宜しくお願い致します。


2011/1/19 Yukio Andoh <yukio...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages