Re: [OpenMap Users] Displaying Streetnames - Beginner

From: Don Dietrick <dietrick_at_bbn.com>
Date: Thu, 27 Oct 2005 12:07:18 -0400

Hi Sumo (and Rick),

Regardig (3) below, the OMText object (including the OMTextLabeler)
has a rotation parameter that will rotate the text for you. You just
have to set the angle on it.

- Don

On Oct 27, 2005, at 7:40 AM, Rick Lane wrote:

> Sumo,
>
>
>
> There certainly may be a much easier way to do this, but if not,
> one approach could be:
>
>
>
> 1) Find the two closest lat/lon points of the road from the
> center of the lat/lon point for the name of the road.
>
> a. You could also take a larger sample of points, and find
> the best-fit line amongst those points.
>
> 2) Determine the slope (and ultimately the angle) between the
> two (or more) lat/lon points (you could even use Cartesian
> coordinates, by using the Projection.forward(lat, lon) method).
>
> 3) Once you have the angle determined, you can apply a
> java.awt.geom.AffineTransform to the graphics context used to draw
> the street name that rotates the context the same amount that that
> particular section of road is rotated. Of course, this wont
> guarantee the name will be above the line of the road, but it will
> be parallel; you can apply similar AffineTransforms to translate
> the name so that it is sitting nicely on the road line.
>
>
>
> Rick
>
>
>
> From: owner-openmap-users_at_bbn.com [mailto:owner-openmap-
> users_at_bbn.com] On Behalf Of su mo
> Sent: Thursday, October 27, 2005 7:15 AM
> To: Don Dietrick
> Cc: openmap-users_at_bbn.com
> Subject: Re: [OpenMap Users] Displaying Streetnames - Beginner
>
>
>
> Hi Don
>
> Thanks for your help. It worked. I can see the streetnames
> horizontally.
>
> I have used FontSizer now to take care of zooming.
>
> But I am still not able to find way a to set the orientation of
> text in parallel
> with the actual road display.
>
> Thanks in advance
>
> -Sumo.
>
> On 10/26/05, Don Dietrick <dietrick_at_bbn.com> wrote:
>
> Hi Sump,
>
> For EsriPolyLine you'd need to ask a different question, like
> getLatLonArray(). Watch out, the float[] returned is in radians.
> You can use the ProjMath class to convert them to decimal degrees,
> but you'll want to copy them to a new array first. Converting them
> to decimal degrees will mess up the EsriPolyLine for display.
>
> The getLat() and getLon() methods are for lines with
> RENDERTYPE_OFFSET settings.
>
> Hope this helps,
>
> Don
>
>
> On Oct 25, 2005, at 9:00 AM, su mo wrote:
>
>
> > Hi,
> >
> > I am using latest openmap. I need to display street name from the
> > DBF file.
> >
> >
> > My questions are:
> >
> > 1. How do I get the lat/long for the street name?
> >
> > I think they are stored in shp file. But when I use
> > EsriGraphicList.iterator().next(),
> > I get EsriPolyLine. But the EsriPolyLine.getLat() and getLong()
> > always return 0.0, 0.0
> > even after tried to set the RenderType to latlong on the
> EsriPolyLine.
> >
> > 2. How do I take care of orientation of street name display and
> > zoom changes on main
> > map?
> >
> > -Thanks in advance
> > -Sumo
> >
>
>
>
>
>

--
[To unsubscribe to this list send an email to "majdart_at_bbn.com"
with the following text in the BODY of the message "unsubscribe openmap-users"]
Received on Thu Oct 27 2005 - 12:09:32 EDT

This archive was generated by hypermail 2.3.0 : Tue Mar 28 2017 - 23:25:07 EDT