2008年08月27日
KMLとWKTの相互変換モジュール
Posted by nene2001 at 15:05 /
Tag(Edit):
cpan
perl
postgis
kml
wkt
dbic
/
0 Comments:
Post /
View
/
0 TrackBack
/ Google Maps
書きました。
とはいってもKMLもWKTもフルスペックには対応してません。
KMLは、幾何情報のフラグメント部分のみの対応です。
- <Point><coordinates>131,31</coordinates></Point>
とか
- <Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
134,35 135,35 135,36 134,36 134,35
</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>
134.2,35.2 134.8,35.2 134.8,35.8 134.2,35.8 134.2,35.2
</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>
とか
- <MultiGeometry>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
134,35 135,35 135,36 134,36 134,35
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
<Point>
<coordinates>134,35</coordinates>
</Point>
</MultiGeometry>
とかの。
WKTも、やれPONT MZとかPOLYGON EMPTYとかの仕様には対応してません(というか、仕様理解してません)。
単純に上記のKMLと対応付くような形での、
- POINT(131 31)
- POLYGON((134 35,135 35,135 36,134 36,134 35),
(134.2 35.2,134.8 35.2,134.8 35.8,134.2 35.8,134.2 35.2)) - GEOMETRYCOLLECTION(POLYGON(134 35,135 35,135 36,134 36,134 35),
POINT(134 35))
とかの変換に対応してます。
ややこしい仕様には対応してないということですが、私自身その辺使わないので、自分の使う範囲でということで。
ついでに、先日作ったDBIx::Classの空間情報プラグインも、KML対応にしました(0.0.2以降)。
package POI;
use base qw(DBIx::Class);
__PACKAGE__->load_components(qw/GeomColumns Core/);
__PACKAGE__->kml_columns( qw(kml_column) );
# KMLで空間データを取得
$poi->kml_column;
# KMLで空間データを生成/更新
$poi->kml_column('<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
134,35 135,35 135,36 134,36 134,35
</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>
134.2,35.2 134.8,35.2 134.8,35.8 134.2,35.8 134.2,35.2
</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>');
$poi->update;
みたいな感じで使えます。
Related query words in Google & Yahoo
Related Books from Amazon
Trackback to this entry
TrackBack URL :
Trackbacks
トラックバックはありません。
コメントはありません。
Post a comment
![[ここギコ!]](http://kokogiko.net/logo.png)



・国連人権委、アイヌ・琉球文化の保護を日本に勧告(ほるほる)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(okumula)
・人員がクラスタ化できている職場と言うのはうらやましい そろそろ限界です(「ま」のつく人)
・もうAmazonクレジットカードは使いません...楽天カード一本で。(名無し)
・ジオメディア忘年会 新年会から始まり東京1、2、関西と続いたジオメディア2008の締めくくり(ぴかぴか)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(kokogiko)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(かやま)
・なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(大阪府民)
・なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(kokogiko)