2007年10月16日
PostGISでLocapointが使えるようなplpgsql関数書きました。
PostGISでLocapointをそのまま扱えるようなplpgsql関数書きました。
これを使うと、
- GeometryFromLocapoint
- AsLocapoint
みたいな関数が追加されるので、WKT(Well-Known Text)の経度、緯度の並びをそのままLocapointに置き換えるような感じで、つまり
- INSERT INTO geom_table (geom) VALUES (GeometryFromText('LINESTRING(135 35,136 36)'));
- SELECT AsText(geom) FROM geom_table;
とかする代わりに、
- INSERT INTO geom_table (geom) VALUES (GeometryFromLocapoint('LINESTRING(AA0.AA0.AA0.AA0,BB0.BB0.BB0.BB0)'));
- SELECT AsLocapoint(geom) FROM geom_table;
みたいな形でLocapointを扱えます(念の為、上の例で経緯度での例とLocapointでの例は同じ位置を示していません)。
regexp_replaceを使っているので、PostgreSQL8.1以降のみ対応。
正規表現の中で、\\\\とかバックスラッシュが並びまくっているところがある。
なんかおかしいのか、warningが裏で挙がるんだけど、でもバックスラッシュの数を減らすとちゃんと動作しない。
いまいちどこでどの文字がエスケープされるのかよく判らないので、どうにもできないんだけど、ちゃんと動作しつつwarningも挙がらないような形にどなたか修正してくれるとウレシ。
Excerpt: マッシュアップアワードで賞を取られていた、ふむふむソフトさんの手書き地...
Weblog: ここギコ!
Tracked: 2007年10月17日 14:30
出ているWarningが"nonstandard use of \\ in a string literal"であるならばの話ですが・・・
おそらく PostgreSQL8.2.Xを使用しているものと推察致します、以下のリンクを参照されると良いと思います。
http://www.postgresql.jp/document/pg825doc/html/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS
の「注意」の囲い。
http://www.postgresql.jp/document/pg825doc/html/release-8-2.html#AEN78583
原因はこちらのリンクの1つ目の非互換点のためです。
![[ここギコ!]](http://kokogiko.net/logo.png)



・「定義できない」とのたまうものを自説根拠の説明の中で延々と使う不誠実(笑)(むにゅう!)
・絵文字標準化でのキャリア批判に思うこと(kokogiko)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(むにゅう!)
・絵文字標準化でのキャリア批判に思うこと(ひゅ〜)
・絵文字標準化でのキャリア批判に思うこと(kokogiko)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(kokogiko)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(むにゅう!)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(むにゅう!)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(むにゅう!)