vhclmaps FAQ

  • binary tar file questions
  • map data questions
  • source building questions
  • mapserv questions

  • binary tar file questions

  • How do I run the executables? I get an unresolved library reference when I try.
  • How do I run the executables? I get an unresolved library reference when I try.

    Add the vhclmaps-0.7/lib/$CPU directory to your LD_LIBRARY_PATH (or LD_ELF_LIBRARY_PATH) environment variable (i.e. vhclmaps-0.7/lib/LINUX) to let the shared library runtime system know where they are. You'll need to get the ivtools-0.7 shared libraries and add an ivtools-0.7 lib directory to LD_LIBRARY_PATH as well. Test an LD_LIBRARY_PATH with ldd -r.

    The vhclmaps binary distribution is fully linked against the shared libraries in the corresponding binary distribution of ivtools. If this is not convenient, you may want to build from source. Read more on binary distribution strategies in the ivtools FAQ


    map data questions

  • How can I view other DEM files?
  • When I run usgsdem2vtk I get the message Warning: In vtkDecimate.cc, line 457 vtkDecimate (0x8319660): Exceeded maximum vertex degree
  • When I run usgsdem2vtk or dted2vtk it prints out other stuff than vtk files
  • I imported some roads in mapserv format to demviewer, then loaded the elevation and the roads disappeared?
  • What about NIMA map formats?
  • How can I view other DEM files?

    Process other DEMs with the usgsdem2vtk program included in vhclmaps (vhclmaps-0.5/src/utils/usgsdem2vtk/). This produces vtk format files which can be read into the DEM viewer with the Open DEM command. Support for 1 degree (1:250,000) and 7.5 minute DEMs.

    When I run usgsdem2vtk I get the message Warning: In vtkDecimate.cc, line 457 vtkDecimate (0x8319660): Exceeded maximum vertex degree

    Things still work if you see this message so you can probably ignore it.

    When I run usgsdem2vtk or dted2vtk it prints out other stuff than vtk files

    There are sections in the main.c of each program that export a geom file for lib3d. To disable change the #if 1 to #if 0 at lines 134 and 445 of usgsdem2vtk/main.c and line 137 of dted2vtk/main.c.

    I imported some roads in mapserv format to demviewer, then loaded the elevation and the roads disappeared?

    The mapserv roads need to be imported after the elevation is loaded. Loading of pre-imported roads (in vtk format) can be done independently of the elevation data.

    What about NIMA map formats?

    IET and Vectaport have software to distribute to parties with U.S. government approval that supports the NIMA (DMA) formats for map data (DTED, DFAD, ITD/SLF). Send email to ietinfo@iet.com for more details.


    mapserv questions

  • How do I load VPF or DLG feature classes into mapserv. I know there is a "loadvpffc" and "load100kdlg" commands for mapserv, but they don't appear in the README and "help(loadvpffc)" says "loadvpffc unknown".
  • What is a painting table?
  • How do I load VPF or DLG feature classes into mapserv. I know there is a "loadvpffc" and "load100kdlg" commands for mapserv, but they don't appear in the README and "help(loadvpffc)" says "loadvpffc unknown".

    The mapserv you've built is a stripped down version with no direct support for VPF or DLG formats (i.e. it does not link in VpfUtil, Vpf, VpfUnidraw, Dlg, and DlgUnidraw). You can use projserv instead, which always supports loadvpffc and load100kdlg, or you can make the fatter version of mapserv by commenting out the #define's of VPF_FREE and DLG_FREE in MapServ/mapfunc.h, then add these to the front of the definition of APP_CCLDLIBS in mapserv/Imakefile:

    $(LIBVPFUNIDRAW) \
    $(LIBDLGUNIDRAW) \
    $(LIBVPF) \
    $(LIBVPFUTIL) \
    $(LIBDLG) \

    Now a "make" in MapServ and a "make Makefiles;make" in mapserv should build you a mapserv with loadvpffc and load100kdlgfc defined.

    What is a painting table?

    A painting table is a set of attribute-expression/graphic-state pairs, for assigning a graphic state to a map feature useful when exporting to drawing editors. There is only one per mapserv.

    An attribute expression is a C like expression made up of symbols that correspond to the names of map feature attributes, operators, and other literals, i.e. ID>100. The paint command (or :paint argument on export) executes the attribute expression once for each map feature, replacing each symbol with the corresponding attribute value, and if the result returns true (non-zero), the id of the corresponding graphic state is assigned to that map feature.

    The graphic state is for when a painted map feature is to be displayed in a drawing editor, and its format is "gs(" followed list of graphic state arguments, followed by a ")". To see the formats of the arguments, start up an ivtools drawing editor, draw then select some graphics, then export to emacs with "to command" and drawtool format set on the export dialog box. Look for the gs records in the second line of the output document. Here is an example:

    "gs( :fillbg -1 :brush 65535,1 :fgcolor "Yellow",1,1,0 :bgcolor "Yellow",1,1,0 :nonepat)"


    source building questions

  • You run "make World" or "make Makefiles", and see an error message like this: /bin/sh: test: argument expected
  • How should I set the CPU environment variable for Solaris?
  • I'm getting wierd run time errors with gcc-2.7.* when I use -O.
  • I set "HasDynamicSharedLibraries" to NO (in config/gcc.def), and nothing worked.
  • How do I begin to program and debug with this software?
  • You run "make World" or "make Makefiles", and see an error message like this

    Making Makefiles for in
    /proj/vhclmaps-0.7/src/IV-common/
    /bin/sh: test: argument expected

    Did you run configure? Is a value for CPU set in config/config.mk? Try "make CPU" to see what it should be. You can add it by hand if need be. grep config/arch.def for ArchitectureName to get a complete list of supported architectures. The value of $CPU should have been printed between the "for" and "in" on the first line of output shown above.

    How should I set the CPU environment variable for Solaris?

    Set the CPU environment variable to SUN4.

    I'm getting wierd run time errors with gcc-2.7.* when I use -O.

    Optimization doesn't make for a working vhclmaps with at least gcc-2.7.*.

    I set "HasDynamicSharedLibraries" to NO (in config/gcc.def), and nothing worked

    You can add APP_CCLDFLAGS = -static to each main.c's Imakefile that your're static linking, but if more than a few you might want to stay with shared libraries because of the savings in disk, memory, and runtime.

    How do I begin to program and debug with this software?

    Read more about programming and debugging strategies in the ivtools FAQ.


    other FAQs

  • ivtools FAQ
  • InterViews/Unidraw FAQ (1992)

  • up to vhclmaps home page