This bug report is for a slightly different problem, when working with a
geometry collection the ability to filter out only the points and
multi-points.
--
Jody Garnett


On Mon, 19 Oct 2020 at 02:21, Ron Lindhoudt <rlindho...@yahoo.com> wrote:

> You should probably use the existion function `geometryType` in the SLD
> rule.
> If you don't do that a polygon is visualised as a polygon and also point
> (the centre of the polygon) for example.
>
> The only thing is that there are multiple geometry-types that represent
> Point, Polygon and Line.
>
> Polygon:
> - Polygon
> - MultiPolygon
> - MultiSurface
> - CurvePolygon
> - GeometryCollection (this is a difficult one!)
>
> Line:
> - LineString
> - CircularString
> - CompoundCurve
> -CompoundRing
> - CircularRing
> - MultiCurve
> - MultiLineString
>
> Point:
> - Point
> - Multipoint
>
> It would be nice if there was a separate function "mainGeometryType" that
> just returns Point, Polygon, Line or Collection
>
> On Monday, 19 October 2020, 10:32:15 CEST, Florian Hoedt <
> florian.ho...@thuenen.de> wrote:
>
>
> Hi,
>
> Sorry for interrupting into this conversation, but: Are you aware that SLD
> can style different geometries out of the box? See attached SLD for the
> INSPIRE theme Environmental Monitoring Facilities which does use survey
> area (Polygon) and representative point (Point) as geometry. But maybe this
> is about something different and you can ignore this.
> yours, Florian
> --
> MSc Florian Hoedt
> Head Geoinformatics | OpenData Representative
> Thünen Institute, Centre for Information Management
> Bundesallee 44
> 38116 Braunschweig
>
> Tel:  +49 531 596-1428
> Mobil: +49 162 92 50 275
> Fax:  +49 531 596-1499
> Mail: florian.ho...@thuenen.de
> Web:  www.thuenen.de
>
> The Johann Heinrich von Thünen Institute, Federal Research Institute for
> Rural Areas, Forestry and Fisheries – Thünen Institute in brief – consists
> of 14 specialized institutes that carry out research and provide policy
> advice in the fields of economy, ecology and technology.
>
> ------------------------------
> *Von: *"Jody Garnett" <jody.garn...@gmail.com>
> *An: *"groznykh" <groznykh....@gmail.com>
> *CC: *"Geoserver USERS" <geoserver-users@lists.sourceforge.net>
> *Gesendet: *Montag, 19. Oktober 2020 07:05:10
> *Betreff: *Re: [Geoserver-users] How to apply different styles for
> different geometry types in GeometryCollection?
>
> I think it is a good idea, but have not had time/budget to work on this
> myself.
> Indeed I have had this draft email replying to you open for a month or so.
> I have been very focused on transitioning our build infrastructure, with
> some small development implementing mapbox style expression support :)
> Do you have any experience with Java? Or if there are any volunteers on
> this list interested it should be a combination of:
>
> 1) https://docs.geotools.org/latest/userguide/tutorial/function.html
>
> 2) A method similar to:
>
>     public <T> T evaluate(Object object, Class<T> context) {
>         Expression pointExpression = parameters.get(0);
>         Geometry geometry = pointExpression.evaluate(object,
> Geometry.class);
>         if( geometry == null) return geometry;
>
>         Expression dimensionExpression = parameters.get(1);
>         Integer dimension = dimensionExpression.evaluate(object,
> Integer.class);
>
>
>        switch(dimension) {
>        case 0: return toPuntal(geometry);
>        case 1: return toLineal(geometry);
>        case 2: return toPolygonal(geometry);
>        default:
>            throw IllegalArgumentException("Dimension "+dimension+" invalid
> (0,1 or 2 supported)");
>        }
>     }
>
> 3) And then methods to collect each type, this could probably be done a
> bit more neatly
>
>    return Geometry toPuntal(Geometry geometry){
>         if( geometry instanceof Puntal) return geometry;
>         if( geometry instanceof GeometryCollection){
>               GeometryCollection collection = (GeometryCollection)
> geometry;
>               ArrayList<Point> points = new ArrayList<>();
>               for (int i; i<collection.getNumGeometries(); i++){
>                   Geometry g = collection.getGeometryN(geometry,i);
>                   Geometry = toPuntal(g);
>                   if( g instanceof Point)
>                        points.add( (Point) g );
>                   else if( g instanceof MultiPoint) {
>                        MultiPoint pts = (MultiPoint) g;
>                        for (int j; j<pts.getNumGeometries(); j++){
>                            points.add( (Point) pts.getGeometryN(j);
>                        }
>                   }
>               }
>              return geometryFactory().createMultiPoint(points.toArray(new
> Point[points.size()]);
>         }
>         return geometryFactory().createMultiPoint();
>    }
>
>
>
> On Wed, 23 Sep 2020 at 03:51, groznykh <groznykh....@gmail.com> wrote:
>
> Hi Jody
>
> Is there a possibility that such functions would be realized?
>
>
>
> --
> Sent from:
> http://osgeo-org.1560.x6.nabble.com/GeoServer-User-f3786390.html
>
>
> _______________________________________________
> Geoserver-users mailing list
>
> Please make sure you read the following two resources before posting to
> this list:
> - Earning your support instead of buying it, but Ian Turton:
> http://www.ianturton.com/talks/foss4g.html#/
> - The GeoServer user list posting guidelines:
> http://geoserver.org/comm/userlist-guidelines.html
>
> If you want to request a feature or an improvement, also see this:
> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>
>
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>
>
>
> _______________________________________________
> Geoserver-users mailing list
>
> Please make sure you read the following two resources before posting to
> this list:
> - Earning your support instead of buying it, but Ian Turton:
> http://www.ianturton.com/talks/foss4g.html#/
> - The GeoServer user list posting guidelines:
> http://geoserver.org/comm/userlist-guidelines.html
>
> If you want to request a feature or an improvement, also see this:
> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>
>
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
> _______________________________________________
> Geoserver-users mailing list
>
> Please make sure you read the following two resources before posting to
> this list:
> - Earning your support instead of buying it, but Ian Turton:
> http://www.ianturton.com/talks/foss4g.html#/
> - The GeoServer user list posting guidelines:
> http://geoserver.org/comm/userlist-guidelines.html
>
> If you want to request a feature or an improvement, also see this:
> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>
>
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to