PostGIS

それはたぶん計算のしすぎ

はじめに Advent Calendarがそこここで実施されているなか、id:meketen:20121209 で「Raspberry PiでPostgreSQL(PostGIS)を動かして、現在地をしゃべらせてみた。」というエントリーに遭遇したのは、なんとなくPostGISについてぐぐってた時でした。 PostgreS…

結論から言うと「群馬に海がなくてよかった」

国土数値情報(行政区域)の2011年度版の都道府県簡略化ポリゴン作成を id:yellow_73:20120323 を参考にしてやってみる。ああ、もうすっかり忘れてたよ。今回は何かうまくいかない。なんかね、インタセクトしてるだのなんだのとか言われた。しょうがないので都…

PNGをファイルに保存するPerlスクリプト(psql使用)

psqlを実行した結果のバイナリ表現をバイナリに変更して適当にファイルを作って書き込む、というものです。 なにがすごいって、CPANから何も入れなくてもいい(なんか違う)。PostgreSQL 9.0以降と8.x以前とではバイナリ表現が違います。これは9.0+用です。 #!…

PostGIS 2.0.0のあまり語られてない部分

PostGIS 2.0.0 のリリース記事の日本語訳が id:hogeman:20120405 でhogemanさんがあげて下さってます。英文は http://www.osgeo.org/node/1275 など。変更点等が挙げられていますが、これに挙げられていないけどマニュアルには書いてあることを、気づいた範…

大反省会

某サイトでアレしたナニをリリースしましたが、反省会を催さないかん。まず、一部が完全に作業対象から抜け落ちてた。関数インデクスの章。これは逐次どうにかする。あと、docbookまわりの問題です。公開後、ソースを見ると、文字参照("&#"+文字コード)の嵐…

公開で反省会

「ダンプが変わる」について id:yellow_73:20120327 でいただいたコメント。 私はpublicはPostGISだけ、ユーザ定義は全てユーザ名と同名のスキーマに分離してます …その手があったorz しかも、勝手にpg_dumpはスキーマ指定ダンプできないんじゃねえの、と思…

PostgreSQL 9.1 + PostGIS 2.0 でダンプが変わる

PostgreSQL 9.1でEXTENSIONというのが導入されました。http://lets.postgresql.jp/documents/technical/9.1/1 あたり参照。これまでは、拡張のための関数、データ型等の定義を直接データベースに叩き込んでいましたが、それが切り離せるというもの。これにPo…

トポロジで都道府県を簡略化してみた (これがベストなのかは知らない)

今回のねらい http://strk.keybit.net/projects/postgis/Paris2011_TopologyWithPostGIS_2_0.pdf にある "Topology with PostGIS 2.0"の7,8枚目を見て、都道府県ポリゴンのsimplifyにトポロジを使えるのではないかと考えた次第。 Typmodさまさま ということ…

CreateTopoGeomはrelationテーブルに値を差し込むらしい

その後、なんとなく、CreateTopoGeom をSELECTだけ(INSERTしない)で実行して遊んでいたところ、どうも (トポロジスキーマ).relation に登録される副作用を持っているとのこと。ということで relation テーブルを見る。 topo=# select * from topo1.relation;…

トポロジに手を染めてみる

PostGIS 2.0 の新機能のひとつにトポロジがあります。…いやどうも 1.5 でもあったけれども文書を書いてなかったらしい。それはともかく、トポロジの扱い方が分からないので、自分で手を動かして確認しているところです。 トポロジサポートの導入 % psql topo…

PostGIS raster を試してみているが大量なファイルだとちょっとマズいのかも知れない

id:hogeman:20120307 とかを見て、奈良盆地は昔は池やってんでとかは昔に聞いたことあったけど奈良湖て言うんかー、という方向に向かうも踏みとどまる。PostGIS raster についてやっておられてたので、マネしようとした次第。ごそごそしてると広島県あたりの…

AddGeometryColumns 使わんでよくなったので感涙にむせんでるところ

ツイッターで http://blog.opengeo.org/2012/03/06/postgis-2-0-new-features-typmod/ が流れてきてました。この文自体は読んでないのですが、PostGIS 2.0 から GEOMETRY型の Typmod になってるぜ、というものです。 AddGeometryColumns 使わなくていいよう…

MapServer 6.0.1 でPostGIS 2.0.0 aplha のGEOGRAPHYをレンダリングする方法

MapServer 6.0.1 で GEOGRAPHY型 をレンダリングしてくれるかテスト。 とりあえず EPSG:4612 POLYGON である the_geom があるとして、GEOGRAPHYカラムを作って、そこに叩き込む。 ALTER TABLE g_table ADD geog GEOGRAPHY(POLYGON,4326); CREATE INDEX ix_g_…

ラスタサポートがインストールできずに半泣きになった

ラスタをちょっと使ってやろうと思って、PostGIS-2.0.0SVN の rtpostgis.sql を実行してやったところエラーが出る。「log2() が無い」とのこと。 そっち違う log2() か、ログを取るPostgreSQL側の関数だろうな、と思って、最新のPostgreSQLを取って、コンパ…

pgRouting のはじめからつまづく

pgRouting は PostGIS にのっけるもので、最短経路探索を行う機能を提供するものです。アルゴリズムには、ダイクストラ、A*、Shooting* の三つ。 なお、アルゴリズムまわりでの質問は、全力で断ることとする。ていうか Shooting* は初めて聞いた。http://www…

GEOGRAPHY型ってのがあることをちょっと書いてみる

今回は Advent Calendar 特別企画だ http://atnd.org/events/23085 参照。 http://d.hatena.ne.jp/waigani/20111210 とか http://d.hatena.ne.jp/wata909/20111211 が先行していて、ハードルが高まっていってるわけですが、気にしたら負け。なので、いつもの…

いやインデクスは効かせられるのです

http://soudai1025.blogspot.com/2011/08/blog-post.html で、PostGISではインデクスが有効利用されない、とおっしゃってることについて、日本語や…それはともかく、ひとこと言わねばなるまい、ということで、つっこみを入れさせてもらいます。 PostGISでは…

データ加工のまとめを書かれているエントリにからんでみる

id:wata909:20090923#p1 で PostGIS で何かを必死にやられてたご様子(ていうか見てるし)で、まとめ記事を出されてます。本日のエントリでスターを与えてくださっていますが、これについてはさわやかに無視させて下さい。 さて本題。からむよー。 shp2pgsql -…

おおまじかよST_Buffer

id:wata909:20090913#p1 で、PostGISに苦心されている模様。http://b.hatena.ne.jp/entry/d.hatena.ne.jp/wata909/20090913%23p1 で、hfuさんのブックマーク。 ST_Buffer(ST_Collect(the_geom), 0) もあって ST_Union とこれの比較を 1.4 で行う必要がある S…

コンフィグア時のprefix指定を無視してインストールすから気をつけよう

PostGIS 1.4 でオンラインマニュアルが充実していました。えーこれ全部訳すのー? ところで、ちょっと前に1.4.0を入れた際に PostgreSQL のインストール先のサブディレクトリに入っちゃったんです。 PostGISとApache HTTDとPHPとは必ず/usr/local下に独自の…

1.4のST_Unionがとんでもなく早かった

id:yellow_73:20090701#p2 のつづき。 標題通り。 基盤地図情報の行政区域に対して、都道府県ごとにST_Unionをかけるというものです。 以前は…どうだったっけ…全県やろうとして10時間ぐらい放置しておいても終わらないから投げた記憶があります。 ジオメトリ…

ST_Unionが早くなるらしい

http://home.csis.u-tokyo.ac.jp/~taichi/happyearth/ あたりをさまよって、 http://blog.cleverelephant.ca/2009/01/must-faster-unions-in-postgis-14.html に到達。 PostGIS 1.4 の話。 ST_Union()は、かなり遅かったのですが、このブログによると、1.3.x…

極端に遅い

ある点を指定して、 その点を含むポリゴンを選ぶ その点を直交座標系に変換してから500m圏内にある点の集合を選ぶ の二つが必要とします。 PostGISの場合は、 ST_WithIn ST_Transform の二つが威力を発揮してくれますが、MySQLにはそれが無いので、PHPで自作…

PostgreSQL 8.3 でGiSTインデクスのバグ

メーリングリストに流れてました。 PostgreSQL 8.3系ではGiSTインデクスにバグがあるので、8.3.5に速やかにアップグレードするようにとのことです。 GiSTインデクスはPostGISの空間インデクスを実現するためのものですので、空間インデクスに問題が出るとい…

EWKBのポイントをちゃちゃっと作る

ちょいと必要だったので、ちゃちゃっとやってみました。リトルエンディアン限定、ポイントデータ限定です。ファイルを読み込んでどうこうという部分は省きました。 #!/usr/bin/perl $x=134.99; $y=35.01; #$s=4326; $s=-1; if( $s > 0 ) { $tc = unpack('H8'…

無理に「白地図」を作る

id:yellow_73:20080812 の続き。 県毎に結合→県毎にSimplify→全県結合 をやると、県境あたりに「穴」ができます。本来だったらタッチするはずなのですが、Simplifyのために、ずれができたようです。この穴を埋められたらいいのに。 で、昨日は、Simplifyをす…

総描で往生

基盤地図情報の続き。 全国をカバーする大縮尺になると行政区域をそのままレンダリングすると厳しいので、都道府県エリアを、そんなに時間を食わずにレンダリングしたくなりました。 で、PostGISにはST_Simplifyがあるので、これを使用。 市区町村→ST_Simpli…

ふと思い出したので

id:yellow_73:20080218 のつづきっていうか、訂正を忘れてました。 二点間の距離を得るのに、いったん投影してST_Distanceで出していましたが、 SELECT ... WHERE the_geom && 'BOX(...)'::box2d ORDER BY ST_distance_spheroid(the_geom,'POINT(...)'::geom…

データ追加にとんでもない時間がかかってた理由

なんとid:yellow_73:20070818 のつづき。 個人サーバ機がリプレースされ、当時の個人サーバ機がモルモット機になりました。当時のモルモット機は退役。グラフィックボードもあうとになってたし。 現モルモット機で8時間かかってたのですが、これ、INSERTコマ…

EWKBの書式を見る

EWKBはWKBの拡張である、とマニュアルにありました。で、どう拡張されているのかは分かっていませんでした。しらべていると、次の文に出くわしました。 この拡張WKT、拡張WKBについてはPostGISのソースのdocにあるZMSgeoms.txtに書かれているようです。 http…