Re: [OpenMap Users] Need VMAP overview solutions

From: Don Dietrick <dietrick_at_bbn.com>
Date: Tue, 5 Oct 2004 14:59:19 -0400

I can get all 4 disks to display at the same time with the beta
version. I have the searchByFeatures property set to be true. It's
slow, though. *really* slow, it's doing a lot of work.


On Oct 4, 2004, at 10:49 PM, Webb, Todd wrote:

> I need some help getting VMAP overview to work the way we want it to.
>
> We have set up VMAP in our application so the user can toggle on and
> off any of the VMAP features at runtime. When you are zoomed in close
> enough, everything works great. However, when the application zooms
> out to whole world, no workee! I would like to have at least political
> boundaries and coastlines on the overview if the user has those
> features selected, so switching to the thin VMAP shape files on large
> scales is out because the feature set is fixed.
>
> I tried to create an overview layer that would work off the reference
> coverage, but could not find the magic strings to get it to work. If
> I use the strings (properties) for the regular coverage, it works, but
> we only get South America, Africa, and Antarctica. The 4 VMAP CDs are
> copied to the hard drive and specified as a 4-element array of paths.
> We are assuming this is correct as it works perfectly for all parts of
> the world when the zoom is close enough and the same paths are set on
> each layer in a loop. (P.S. we are not using the library bean yet,
> because we can't figure out how to do it programmatically).
>
> I attached a screen capture (sorry about the magenta coastline,
> debugging)
>
> The big constraint is that we have a subclass of MapBean embedded in a
> larger application, so there are no property files... everything is
> set programatically.

The property file is just a mechanism to define what objects get
created and added to the MapHandler. If you get a property file
working the way you want it, it's totally, wacky easy to make an
application do the same thing programmatically. Just create the
components listed in the openmap.components property using their empty
constructors. Set properties on the components or call accessors, add
components to MapHandler.


> The properties are not fixed, since the user can change the feature
> set at runtime, but here's what we set on the overview layer(s) that
> produced the same result:
> overviewProps.put("prettyName","Vector Smart Map (VMAP)");
> overviewProps.put("coverageType","bnd");
> // Select the features we'd like to display on this layer
> overviewProps.put("featureTypes", "area");
> overviewProps.put("area", "polbnda");
> // Select the edge feature classes we'd like to display. In this
> case,
> overviewProps.put("searchByFeature", "true");
> // set default color for political areas to be LAND color
> overviewProps.put("polbnda.fillColor", Integer.toHexString(
> getColor("map.landColor", LAND).getRGB()));
> oviewBaseLayer.setProperties(overviewProps);
> //
> overviewProps.put("coverageType","coast polbnd");
> // Select the area feature classes we'd like to display.
> overviewProps.put("edge","coastl polbndl");
> // set color for coastlines
> //overviewProps.put("coastl.lineColor", Integer.toHexString(
> // set color for political boundary lines
> overviewProps.put("polbndl.lineColor", Integer.toHexString(
> getColor("map.politicalColor", BOUNDARY).getRGB()));
> oviewLineLayer.setProperties(overviewProps);
>
>
> So is there a way to effectively use the reference coverage? or is
> there a way to get VMAPLayer to display ALL continents in whole world
> mode?

Since the reference coverage definitions are different than the full
coverage coverage definitions, you'd have to have your users work with
sets.

> Or is our help desk going to be forever explaining why the users
> can't see the features they selected when they are zoomed out too far?

I think users are used to the idea of coverages filtered with scale.

- Don


>
> Any help would be appreciated...
>
> Todd
>
> Todd A Webb <twebb_at_titan.com>
> The Titan Corporation
> 3033 Science Park Road
> San Diego, CA 92121
> 858.597.9128
>
>
>> Hi Todd,
>>
>> On Wednesday, October 15, 2003, at 08:01 PM, Webb, Todd wrote:
>>
>>> Ok, I'm getting a little further with VMAP ... setting colors for
>>> specific features
>>>
>>> vmapHydro.depthl.lineColor=FF00000
>>> vmapHydro.watrcrsl.lineColor=FF00FF00
>>>
>>> works great, as long as vmapHydro.searchByFeature=true is set. Thank
>>> you.
>>>
>>> Also, I now understand that most of these coverages, including
>>> boundaries, elevation, hydrology are only displayed when the scale is
>>> 1:30,000,000 or tighter. So I could see the "bnd" coverage on startup
>>> because our application starts with a view of the whole world.
>>>
>>> Now if I want continuous coverage through ALL scales, I am assuming I
>>> need to use both the reference polbnd and bnd coverages. Is there a
>>> way to specify this to the VPFLayer, or do I need to create 1
>>> VPFLayer
>>> for scales larger than 1:30,000,000 and 1 VPFLayer for scales smaller
>>> than 1:30,000,000 and have my own logic to switch layers when the
>>> scale crosses the threshhold?
>>
>> The ScaleFilterLayer switches between layers around scales. You just
>> have to configure the ScaleFilterLayers and the VPFLayers in the
>> properties file.
>>
>> The VPFLayer used to automatically switch to reference data above
>> 1:30,000,000, but I'm not sure if it still does. I know the logic is
>> there, but something might have broken it. You can also use a thinner
>> shape file for the smaller scales and switch to VPF at the larger
>> scales.
>>
>> - Don
> <ovrview.jpg>


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Don Dietrick, dietrick_at_bbn.com
BBN Technologies, Cambridge, MA
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

--
[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 Tue Oct 05 2004 - 14:59:56 EDT

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