0

地区を取得するために postgis データベースでクエリを実行すると、LatLon 列に対して次の結果が返されます。

SELECT id, ST_AsText(latlon) AS geom FROM district;

MULTIPOLYGON(((16.4747103091463 48.2753153528078,16.4744319731163 48.275314069121,16.4743511374383 48.2753128173411,16.4743147576862 48.2753108825757,16.474247514683 48.275304398381,16.474205201686 48.2753004022899)))

しかし、私のJava Androidアプリでこれをどのように扱うべきですか?

構造が正しくないようです..それで作業を開始したい場合..最初に括弧を切り取り、次に「MULTIPOLYGON」を切り取る必要があるためです。これは私もあまり快適ではないようです...

次のようにすべきではありませんか?はいの場合、どうすればこの種の出力形式を実現できますか?

{ "type": "MultiPolygon",
  "coordinates": [
    [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]],
    [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]],
     [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]]
    ]
  }
4

1 に答える 1

2

ST_AsTextWell-known textに変換され、ST_AsGeoJSONはGeoJSONに変換されます。試す:

SELECT id, ST_AsGeoJSON(latlon) AS geom FROM district;
于 2012-12-04T03:42:56.770 に答える