[Geoserver-users] SLD filter function usage

Hi,

I am applying a symbol to a point on ellipse. For this i used the startPoint
function, but my ellipse's coordinates start from the right side on the
curve so it wrongly places the symbol at the right side.

I found numPoints and pointN functions which I thought of using for this by
getting no. of points on ellipse from numPoints and using pointN to place
the symbol at 3/4* numPoints.

This is just logic which I am not sure if could be applied. Please help if
someone knows how to write this in SLD , please suggest or some other way of
achieving this through other functions.

Thanks

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/SLD-filter-function-usage-tp5146766.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Hi,
Where do you want the symbol to be drawn? The middle? If so you may want to use the “centroid” function: http://docs.geoserver.org/stable/en/user/filter/function_reference.html#geometric-functions

Cheers,
Jonathan

This transmission is intended for the named addressee(s) only and may contain confidential, sensitive or personal information and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

···

On 19 June 2014 14:27, shariq <md.shariqkhan@anonymised.com> wrote:

Hi,

I am applying a symbol to a point on ellipse. For this i used the startPoint
function, but my ellipse’s coordinates start from the right side on the
curve so it wrongly places the symbol at the right side.

I found numPoints and pointN functions which I thought of using for this by
getting no. of points on ellipse from numPoints and using pointN to place
the symbol at 3/4* numPoints.

This is just logic which I am not sure if could be applied. Please help if
someone knows how to write this in SLD , please suggest or some other way of
achieving this through other functions.

Thanks


View this message in context: http://osgeo-org.1560.x6.nabble.com/SLD-filter-function-usage-tp5146766.html
Sent from the GeoServer - User mailing list archive at Nabble.com.


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi,

Thanks for the reply.

I wan't to place a symbol on the boundary of the ellipse at the top.

In my question I had pointed two filter functions (numPoints and pointN)
which I guess could be useful but I don't know how to use them. I could find
any documentation on their usage.

If someone has idea about how in SLD we use a filter function (numPoints)
which returns a value(n) and then performing an arithmetic operation on that
return value (3/4*n), please suggest.

thanks

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/SLD-filter-function-usage-tp5146766p5147010.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Hi,
Yes, the documentation is sparse in that area unfortunately.

Something like the following may do it. I’ve not tested it. Note that it’s SLD 1.1. You can remove the namespace stuff for SLD 1.0.

se:Geometry
<ogc:Function name=“pointN”>
ogc:PropertyNameSDO_GEOMETRY</ogc:PropertyName>

<ogc:Function name=“round” />

ogc:Mul
ogc:Literal0.75</ogc:Literal>
<ogc:Function name=“numPoints” />
</ogc:Mul>
</ogc:Function>
</ogc:Function>
</se:Geometry>

This transmission is intended for the named addressee(s) only and may contain confidential, sensitive or personal information and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

···

Should get you started at least.

Cheers,
Jonathan

On 20 June 2014 13:49, shariq <md.shariqkhan@anonymised.com> wrote:

Hi,

Thanks for the reply.

I wan’t to place a symbol on the boundary of the ellipse at the top.

In my question I had pointed two filter functions (numPoints and pointN)
which I guess could be useful but I don’t know how to use them. I could find
any documentation on their usage.

If someone has idea about how in SLD we use a filter function (numPoints)
which returns a value(n) and then performing an arithmetic operation on that
return value (3/4*n), please suggest.

thanks


View this message in context: http://osgeo-org.1560.x6.nabble.com/SLD-filter-function-usage-tp5146766p5147010.html
Sent from the GeoServer - User mailing list archive at Nabble.com.


Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi,

I changed the geometry, so that I can use the startPoint() function :).
Anyways thanks for the info.

I was curious how this thing could be achieved in SLD structure. Afterall
its an XML structure with name value pairs, so understanding passing a value
to a filter function, like in this case startPoint() where the_geom is
passed and it applied some style at the start point of geometry, is easy.
But couldn't understand how do we read the return value from a function like
numPoint() and do some thing with it.

Anyways thanks again. Appreciate your help.

Thanks & Regards,
Shariq

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/SLD-filter-function-usage-tp5146766p5148005.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Hi Shariq,
I guess that means it works.
Could you share the relevant XML section with the list, others may benefit.
I know I had the exact same problem as you (figuring out the structuring) when I first wanted to use one of these some time ago.

This transmission is intended for the named addressee(s) only and may contain confidential, sensitive or personal information and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

···

Happy to help,
Jonathan

On 26 June 2014 06:02, shariq <md.shariqkhan@anonymised.com> wrote:

Hi,

I changed the geometry, so that I can use the startPoint() function :).
Anyways thanks for the info.

I was curious how this thing could be achieved in SLD structure. Afterall
its an XML structure with name value pairs, so understanding passing a value
to a filter function, like in this case startPoint() where the_geom is
passed and it applied some style at the start point of geometry, is easy.
But couldn’t understand how do we read the return value from a function like
numPoint() and do some thing with it.

Anyways thanks again. Appreciate your help.

Thanks & Regards,
Shariq


View this message in context: http://osgeo-org.1560.x6.nabble.com/SLD-filter-function-usage-tp5146766p5148005.html

Sent from the GeoServer - User mailing list archive at Nabble.com.


Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi,

I meant since I could not find the solution I did a workaround by changing
the geometry and using a different function(startPoint()).

I tried just now your solution, but it returned with :
<ServiceExceptionReport version="1.1.1">
<ServiceException>
java.lang.RuntimeException: Unable to find function numPoints Unable to find
function numPoints
</ServiceException>
</ServiceExceptionReport>

It gave the same for round(), so I removed it from SLD.

Will search for the error, but am busy with other things in the project.

Thanks again for your time.
Shariq

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/SLD-filter-function-usage-tp5146766p5148073.html
Sent from the GeoServer - User mailing list archive at Nabble.com.