Working with GIS data

Note: You will need to include GisData to your Module Dependencies list.

Creating a GIS data object from a file

GIS data files supported by INTViewer are in the *.shp and *.dxf formats.

A GIS data file can be loaded as follows:

    import com.interactive.intviewerapi.data.IData;
    import com.interactive.intviewerapi.data.gis.IGisData;
    import com.interactive.intviewerapi.util.DialogManager;
    ...
        IGisData gisData = null;
        try {
            gisData = IData.factory.createNewInstance("/data/GIS/cities.shp", IGisData.class);
        } catch (Exception ex) {
            DialogManager.getDefault().showMessageDialog("Error loading GIS data file cities.shp.",
                    "Error Loading GIS Data File", DialogManager.ERROR);
            return;
        }

Loading GIS Data from a file chooser

To select one dataset:

   import com.interactive.intviewerapi.data.ISingleDataChooser;
   // get the chooser for gis data type
   ISingleDataChooser<IGisData> singleChooser = ISingleDataChooser.Factory.createNewInstance(IDataChooser.GIS);
   // popup the chooser dialog
   int rc = singleChooser.setDataChooserVisible(true);
   if (rc == JFileChooser.APPROVE_OPTION) {
      IGisData gisData = singleChooser.getSelectedData();
   }

To select multiple datasets:

   import com.interactive.intviewerapi.data.IMultipleDataChooser;
   // get the file chooser for gis data type
   IMultipleDataChooser<IGisData> multipleChooser = IMultipleDataChooser.Factory.createNewInstance(IDataChooser.GIS);
   // popup the chooser dialog
   int rc = multipleChooser.setDataChooserVisible(true);
   if (rc == JFileChooser.APPROVE_OPTION) {
      for (IGisData gisData : multipleChooser.getSelectedData()) {
      }
   }