Hi,
I made a short test with GS 2.0-pre-release with these objects:
CREATE TABLE viewtest
(
“GEOMETRY” geometry(PointZ,3067),
attribute character varying
)
INSERT INTO viewtest (“GEOMETRY”, attribute)
VALUES ( ST_GeomFromText(‘POINTZ (640079 7002754 100)’,3067), ‘feature_1’);
CREATE MATERIALIZED VIEW view_viewtest
AS SELECT viewtest.“GEOMETRY”::GEOMETRY(PointZ,3067) AS geometry, attribute
from viewtest;
CREATE VIEW view_viewtest_2
AS SELECT viewtest.“GEOMETRY”::GEOMETRY(PointZ,3067) AS geometry, attribute
from viewtest;
I could publish the table and the normal view fine, the admin utility shows geometry type as point and layer preview with OpenLayers is fine.
I could not publish the materialized view at all because it does not appear in the list of available layers when I open my PostGIS store.
There is a corresponding row in the geometry_columns
“gis9”;“public”;“view_viewtest”;“geometry”;3;3067;“POINT”
This makes me think that there is perhaps something that does not quite work with materialized views.
I have two suggestions:
-
Have a try with a plain, non-materialized view.
-
Consider if you could do the same as I did above and send complete SQL commands for reproducing test data and the issue. It would have a few good points:
a. It makes you to make another test with most simple schema and data and verify that issue does not come from the source data
b. It makes it possible for the reviewers to make an exact copy of your case
c. If it is fast and easy, more people may really make a test for helping you
This is something that I have not yet discussed with Geoserver developers but I have been reading a few hundred open tickets during past two months and found that the ones with SQL are quite nice to study. Perhaps we could write some Best Practice document about how to report about issues which are dealing with databases.
-Jukka Rahkonen-
Andrea Aime wrote:
···
On Mon, Mar 23, 2015 at 11:52 AM, dkuenzel <audiotecture@…157…> wrote:
Hi Stefano,
thanks for your reply.
The only difference between the two screenshots is the symbol at the
beginning of the line. The Original layer shows a point symbol while the
view shows a rectangle (polygon?), the weird thing is, that both layers
contain exactly the same type of data (the view is a subset).
Geoserver itself doesn’t give any error, but I can’t display the WFS in
Qgis. The Attribute table then shows all the features but there are no
objects shown on the map.
To add some more confusion: it is possible to preview the layer in the
Geoserver UI (Openlayers) but if I try to add it to my own openlayers map
there won’t be any objects on the map.
I suppose it might be a problem with Geoserver computing the Geometry from
the view correctly and sending it via WFS but I don’t see any reason why
that should be the case. The only difference between the original table and
the view is that symbol I mentioned at the beginning.
Did you ask GeoServer to try and figure out the geometry type and srid when
listing the sql view attributes?
Even in case GeoServer does not recognize them correctly, you can manually
fix them
Cheers
Andrea
–
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549
http://twitter.com/geosolutions_it
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.