Saya memiliki masalah yang sangat sulit: Saya memiliki database Postgis 2.0, digunakan sebagai datastore untuk Geoserver 2.1.3
Saya punya meja dengan kolom geometri (bernama bentuk), dengan SRID 4326
Saya telah membuat tampilan seperti ini:
CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events
Dan kemudian saya menerbitkan tampilan menggunakan geoserver. Semuanya berfungsi, kecuali untuk permintaan GetFeatureInfo, yang gagal dengan kesalahan 'Operasi pada geometri SRID campuran A sederhana
select * from geometry_columns
mengembalikan bahwa SRID dari pippo.geom adalah 0 (tetapi harus 4326)
Saya mencoba juga dengan definisi ini untuk tampilan
CREATE VIEW pippo AS SELECT st_setsrid(st_geometryn(shape,1), 4326) as geom FROM events
tapi saya masih punya SRID = 0 di geometry_columns .... ada bantuan?
Berikut adalah bagaimana layer didefinisikan dalam Geoserver:
Penanganan masalah
Saya menemukan solusi untuk memperbaiki bukan masalah itu sendiri, tetapi untuk membiarkan Geoserver melakukan pencarian spasial pada permintaan GetFeatureInfo:
alih-alih membuat tampilan dan menerbitkannya, saya menerbitkan SQL-layer yang didefinisikan langsung di geoserver. Dalam bentuk definisi-lapisan itu memungkinkan saya untuk memilih jenis gemoetry yang tepat dan SRID dan semuanya berfungsi sekarang!
sumber