Don,
Attached new version of the com.bbn.openmap.layer.mif package (zipped) **
See notes below, also note that I have only tested using OpenMap4.5.4, I am
not yet up to speed with the CVSHEAD.
I hope you can get this included in the next release of OpenMap. Any
problems or question just let me know.
Cheers
Simon
NOTES
Overview of com.bbn.openmap.layer.mif package changes:-
Removed call to OMSubtraction.contains within the PROCESS_REGION case of the
loadFile() method of MIFLoader
- couldn't see the real reason for this, it was actually causing
the file to take about 60% extra time to load into memory
MIFLoader now checks that the CoordSys type of the MIF file is Latitude and
Longitude before attempting to parse the file
Added support to MIFLoader for the MIF "TEXT" and "POINT" graphical
primitives (although only basic functionality)
Added 2 extra properties to MIFLayer that define the scale value after which
the text and point graphics are rendered (see MIFPoint and MIFText)
textVisible
pointVisible
MIF package updates
New classes
MIFException
MIFText
MIFPoint
New Interfaces
MIFGraphic
Changes to existing classes
MIFLayer
MIFLoader
NOTE (The bit I am not happy with)
I have added property values to the layer textVisible and pointVisible,
these define the scale value at which any TEXT and POINT graphics become
visible. Without these at very wide zooms your view can become blotted out
by text and points, so I've added these properties so that the user can
define at what scale factor to render text and points. Therefore for MIF
data files where the user has text info for urban areas the textVisible
could be around say 300000 or less and for rural areas possibly 1000000.
It's up to the users to experiment with.
A better solution to the above would be to add correct sizing of OMGraphics
etc.. depending on the actual viewing scale (at runtime), and add declutter
algorithims to the rendering process (I'm hoping this is to be fully
implemented in OpenMap very soon?????)
Performance starts to suffer after about 30MB + of mif data is loaded into
memory, mainly during the project/render.
Possible improvements that could be made
The new code will throw a MIFException from load file when the CoordSys
definition is not compatible, cannot see an easy way to propagate this out
of the layer code so that it can be caught in a GUI
Add support for ARC ELLIPSE RECT ROUNDRECT
Enhance the support for TEXT so that it performs decluttering and correctly
sizes the text depending on scale.
Include support for the optional TEXT sections of MIF format (i.e. Spacing,
Justify, Angle and Label)
Enhance the support for POINT so that it performs decluttering and correctly
sizes the text depending on scale.
Include support for rendering of the different MIF symbols, rather than just
a square (as it is at the moment)
Include support for rendering of symbols from TrueType fonts
-- [To unsubscribe to this list send an email to "majdart@bbn.com" with the following text in the BODY of the message "unsubscribe openmap-users"]
This archive was generated by hypermail 2.1.8 : Thu May 12 2005 - 07:18:37 EDT