Re: [OpenMap Users] VMAP overview solutions

From: Don Dietrick <dietrick_at_bbn.com>
Date: Tue, 5 Oct 2004 16:37:07 -0400

On Oct 5, 2004, at 3:45 PM, Webb, Todd wrote:

> Maybe I'll try to generate several VMAP overview shape files with
> different combinations of features (inland water areas/political
> boundaries/coastlines), then just switch to the one most appropriate
> to the feature set the user has selected. If I can get this to work,
> I'll try to generate them off VMAP edition 6 and I'll send them to
> you.
>
> So how do you get a reference to the MapHandler from the MapBean? I
> only see methods to get it from app.OpenMap, MapPanel, and classes I
> don't have a reference to.

You don't get the MapHandler from the MapBean. The MapHandler is
something you'd need to create and save a handle to. It just serves
as a conduit for other OpenMap components to use to find each other.

- Don


>
> Thanks
>
> Todd
>
> -----Original Message-----
> From: Don Dietrick [mailto:dietrick_at_bbn.com]
> Sent: Tuesday, October 05, 2004 11:59 AM
> To: Webb, Todd
> Cc: openmap-users_at_bbn.com
> Subject: Re: [OpenMap Users] Need VMAP overview solutions
>
>
> 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"]
>
>


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
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 - 16:38:00 EDT

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