[Geoserver-devel] Adding a new "generic" built-in style

Hi,

Could it be enough to check the dimension of the geometry (0,1,2) instead of exact geometrytype?

Just this week Michaël Michaud implemented a geometry type constraint to OpenJUMP based on the dimensions of the features:

return feature.getGeometry().getDimension() == dimension;

But this may not be enough if geometrycollections can’t be handled.

-Jukka Rahkonen-

Andrea Aime wrote:

···

Hi folks,

as you know, in GeoServer we have four built-in styles, “point”, “line”, “polygon”, “raster”,

that GeoServer automatically associates to layers based on their geometry type.

I was considering adding a fifth built-in one, “generic”, which would paint the right

symbolizer based on the geometry’s nature, to be used when we have no clue of

what geometry type we’re dealing with.

It would be something like this one:

http://docs.geoserver.org/2.6.x/en/user/styling/sld-tipstricks/mixed-geometries.html#geometrytype-function

It would be nice to have a simpler function to use, something like isLinear, isPolygonal, instead

of listing all geometry types… I guess it would still fail for geometry collections though.

Maybe we could have a getPoints/getLines/getPolygons

functions instead, that would be used to extract the right bits from the data own geometry,

which would make it work even with the contents of a geometry collection, tearing it apart

in its constituent pieces.

Opinions?

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://www.geo-solutions.it

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.


On Wed, May 13, 2015 at 1:19 PM, Rahkonen Jukka (MML) <
jukka.rahkonen@anonymised.com> wrote:

Hi,

Could it be enough to check the dimension of the geometry (0,1,2) instead
of exact geometrytype?

That's also a nice idea, better than checking the type names like in the
example in the docs... but still would not work for generic geometry
collections, which can include
a mix of the 3 types (JTS for geometry collections is going to pick the
largest, meaning a mix of point lines and polys will be drawn as polygons,
by closing
the lines from end to start to form a polygon, and ignoring the points).

Wondering how commons the generic collections are in the real world, maybe
we can just ignore them.

Just this week Michaël Michaud implemented a geometry type constraint to
OpenJUMP based on the dimensions of the features:

         return feature.getGeometry().getDimension() == dimension;

But this may not be enough if geometrycollections can’t be handled.

Yep, see above

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://www.geo-solutions.it
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.

-------------------------------------------------------

Sounds like an excellent idea to me.

Re: generic collections. Well I think there are real world examples but because most software is useless at handling mixed geometry, modellers automatically abstract into multiple geometry classes and then battle to maintain topological correctness. Anyone dealing with active seismic knows of the hassles in maintaining shotpoint location features (a point and line object) in GIS software. I believe city modellers battle similar issues with water/tap, power line/pole/transformer geometries.

Notice: This email and any attachments are confidential.
If received in error please destroy and immediately notify us.
Do not copy or disclose the contents.