[OpenMap Users] Need VMAP overview solutions

From: Webb, Todd <twebb_at_titan.com>
Date: Mon, 4 Oct 2004 19:49:28 -0700

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 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? 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?

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


--
[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"]

ovrview.jpg
(image/jpeg attachment: ovrview.jpg)

Received on Mon Oct 04 2004 - 22:56:03 EDT

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