Hello Jody

Down here we've also been playing with some ideas a little related to 
that topic.

In the style arena, people here frequently want to display something 
like a 10km-wide circle (or star, or whatever) for their points - 
actually, they generally just want their symbols to scale accordingly 
when you zoom in and out.

In my view, this would correspond to a point symbolizer whose size is 
measured in km, instead of pixels. Happily, the SLD/SE specification 
does include this feature, called the UOM (Unit of Measure, not the 
lightsaber sound). The UOM can be defined as "pixel" (default), "meter", 
"foot", etc. It applies to any Symbolizer, and in theory it should be 
used not only to control its size as displayed on the map, but also its 
stroke width, font size, etc (see 
http://www.opengeospatial.org/standards/symbol, v.1.1.0, page 14).

Sadly, as far as I know GeoTools does not implement this part of the 
specification. Is that correct?

If that is the case, I think we may be willing to spend some time to add 
this capability, at least for PointSymbolizers. What do you think?

Cheers,
Milton


[email protected] wrote:
> Date: Thu, 05 Feb 2009 14:06:15 +1100
> From: Jody Garnett <[email protected]>
> Subject: [Geotools-gt2-users] question from off list
> To: gt2-users <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> Your question about working in units (say 10km) is an interesting one. 
> The answer depends on the CoordinateReferenceSystem (since it captures 
> the definition of what the coordinates mean - including their units). 
> You will need to take your ground units (km, feet, furlongs etc...) and 
> convert it to an appropriate distance in the unit your geometry is 
> measured in.
> 
> We use the Java units library (cannot remember the JSR number) in our 
> CoordinateReferenceSystem definition in order to facilitate these 
> conversions - while I have done all this for customers before I have not 
> yet made a code example for the wiki.
> 
> Once you have your distance you can use the buffer operation (to make a 
> new geometry); or the dwithin if you just want to select things that are 
> within 10 km of your geometry etc.
> 
> WGS84 is represented as DefaultGeographicCRS.WGS84 in our library; you 
> can also use CRS.decode("EPSG:4326") if you like; please pay attention 
> to the axis order (as it is not always simple x, y ordering).
> 
> There are utilities for calculating the distance along the sphere 
> between two points as well; however in general our topology library 
> (JTS) only handles cartesian values). A general geotedic library has not 
> yet been developed in the open source arena. If you have any ideas for 
> scaring up funding (or grad students) to work on this topic it would be 
> welcomed both here and in the GEOS project.
> 
> Jody
> 
> Kamineni, Rajeshwar wrote:
>>> I have few simple questions?  This could be very silly but all the  
>>> examples seem like use simple cartesian coordinates.
>>>
>>> How do I create a circle covering a 10KM radius at a lat/lon  (WGS84)  
>>> using GeoTools API?
>>>
>>> How do I know the Lat/Lon of a Point Y - Given a Point X, Bearing pi  
>>> degrees and distance d kms from Point X.    I have algorithms on the  
>>> internet but I am looking for GeoTools API which does that?

-- 

Milton Jonathan
Grupo GIS e Meio Ambiente
Tecgraf/PUC-Rio
Tel: +55-21-3527-2502

------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to