非常にトリッキーな問題があります。Geoserver2.1.3のデータストアとして使用されるPostgis 2.0データベースがあります。
SRID 4326で、geometry列(名前付きのシェイプ)を持つテーブルがあります。
私はこのようなビューを作成しました:
CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events
次に、geoserverを使用してビューを公開しました。GetFeatureInfoリクエストを除いてすべてが機能し、エラー 'Operation on mixed SRID geometries A simple
select * from geometry_columns
pippo.geomのSRIDが0であることを返します(ただし4326である必要があります)
ビューのこの定義でも試しました
CREATE VIEW pippo AS SELECT st_setsrid(st_geometryn(shape,1), 4326) as geom FROM events
しかし、geometry_columns .... any helpにSRID = 0がまだありますか?
以下は、Geoserverでのレイヤーの定義方法です。
回避策
問題自体を修正するのではなく、GeoserverがGetFeatureInfoリクエストに対して空間検索を実行できるようにする回避策を見つけました。
ビューを作成して公開する代わりに、ジオサーバーで直接定義されたSQLレイヤーを公開しました。レイヤー定義フォームでは、適切な地理タイプとSRIDを選択することができ、すべてが機能しています。