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: [email protected] 
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" <[email protected]> 
An: "groznykh" <[email protected]> 
CC: "Geoserver USERS" <[email protected]> 
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 | 
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 < [ mailto:[email protected] | 
[email protected] ] > 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 | 
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#/ | 
http://www.ianturton.com/talks/foss4g.html#/ ] 
- The GeoServer user list posting guidelines: [ 
http://geoserver.org/comm/userlist-guidelines.html | 
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
 | 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
 ] 


[ mailto:[email protected] | 
[email protected] ] 
[ https://lists.sourceforge.net/lists/listinfo/geoserver-users | 
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
 


[email protected] 
https://lists.sourceforge.net/lists/listinfo/geoserver-users 

Attachment: EMF_fixed2.sld
Description: XML document

_______________________________________________
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


[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to