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
