0

xml ファイルを postgresql / postgis データベースにロードしています。次のフィールドには、ポリゴンに変換したい領域の緯度経度のコードが含まれています。ST_MPolyFromText を使用してこれを機能させる方法はありますか?サンプルを db にロードする方法よりも長い順序と緯度を逆にしますか?

39.43,-80.29 39.46,-80.49 39.43,-80.52 39.46,-80.66 39.98,-80.76 40.07,-80.43 39.46,-79.91 39.39,-80.10 39.40,-80.11 39.46,-80.13,-89.39,-89.29,-80.13

4

1 に答える 1

0

これを WKT として簡単にフォーマットできます。まず、コンマをスペースに、スペースをコンマに変換してから、座標を緯度経度から経度経度 (x,y) に変換します。PostGIS 関数は次のとおりです。

CREATE FUNCTION polygon_from_funny_format(latlon text) RETURNS geometry AS
$BODY$SELECT
    ST_FlipCoordinates(('SRID=4326;POLYGON((' ||
                       translate($1, ', ', ' ,') || '))')::geometry);
$BODY$ LANGUAGE sql IMMUTABLE STRICT;

これで、次のことができます。

SELECT polygon_from_funny_format('39.43,-80.29 39.46,-80.49 39.43,-80.52 39.46,-80.66 39.98,-80.76 40.07,-80.43 39.46,-79.91 39.39,-80.10 39.40,-80.11 39.39,-80.18 39.43,-80.29');
于 2012-07-06T04:17:56.000 に答える