Toolkits Swing
Platforms
  • linux
  • macosx
  • windows
  • solaris
Framework
License Apache Software License 2.0
Documentation No documentation link provided
 Tags
geo
Downloads 67
Rating
(0)

Authored by:

Andres Almiray
aalmiray@yahoo.com

GeoTools is an open source Java library that provides tools for geospatial data.

Usage

The following nodes will become available on a View script upon installing this plugin

Node Type
mapPane org.geotools.swing.JMapPane
mapViewer org.geotools.swing.JMapViewer

Refer to the Javadocs found in the plugin's distribution to learn more about the properties that can be set on these nodes.

Example

The following example is a reproduction of the basic NetBeans app available from Geotools' tutorials

SampleView.groovy

    package sample

    import org.geotools.renderer.lite.StreamingRenderer
    import org.geotools.swing.JMapViewer

    application(title: 'Geotools',
            preferredSize: [320, 240],
            pack: true,
            locationByPlatform: true,
            iconImage: imageIcon('/griffon-icon-48x48.png').image,
            iconImages: [imageIcon('/griffon-icon-48x48.png').image,
                    imageIcon('/griffon-icon-32x32.png').image,
                    imageIcon('/griffon-icon-16x16.png').image]) {
        borderLayout()
        button('Load', constraints: NORTH, actionPerformed: controller.load)
        scrollPane(constraints: CENTER) {
            widget(new JMapViewer(), id: 'map', showStatusBar: false,
                    background: Color.WHITE, renderer: new StreamingRenderer())
        }
    }

SampleController.groovy

    package sample

    import griffon.transform.Threading
    import org.geotools.data.FileDataStore
    import org.geotools.data.FileDataStoreFinder
    import org.geotools.data.simple.SimpleFeatureSource
    import org.geotools.map.*
    import org.geotools.styling.SLD
    import org.geotools.swing.data.JFileDataStoreChooser

    class SampleController {
        def view

        @Threading(Threading.Policy.SKIP)
        def load = {
            File file = JFileDataStoreChooser.showOpenFile("shp", null);
            if (file == null) {
                return;
            }

            FileDataStore store = FileDataStoreFinder.getDataStore(file);
            SimpleFeatureSource featureSource = store.getFeatureSource();

            MapContent mapContent = new MapContent();
            mapContent.setTitle("Quickstart");

            def style = SLD.createSimpleStyle(featureSource.getSchema());
            Layer layer = new FeatureLayer(featureSource, style);
            mapContent.addLayer(layer);

            view.map.mapContent = mapContent
        }
    }