Search in sources :

Example 1 with Vector

use of ol.source.Vector in project gwt-ol3 by TDesjardins.

the class GeoJsonExample method show.

/* (non-Javadoc)
     * @see de.desjardins.ol3.demo.client.example.Example#show() */
@Override
public void show(String exampleId) {
    // create linestring
    Coordinate coordinate1 = new Coordinate(4e6, 2e6);
    Coordinate coordinate2 = new Coordinate(8e6, -2e6);
    Coordinate[] coordinates = { coordinate1, coordinate2 };
    LineString lineString = new LineString(coordinates);
    // create feature
    FeatureOptions featureOptions = new FeatureOptions();
    featureOptions.setGeometry(lineString);
    Feature feature = new Feature(featureOptions);
    // convert feature to GeoJSON
    GeoJson geoJsonFormat = new GeoJson();
    java.lang.Object geoJson = geoJsonFormat.writeFeatureObject(feature, null);
    // convert features from GeoJSON
    Feature featureGeoJson = geoJsonFormat.readFeature(geoJson, null);
    // show converted features
    Collection<Feature> lstFeatures = new Collection<Feature>();
    lstFeatures.push(featureGeoJson);
    VectorOptions vectorSourceOptions = new VectorOptions();
    vectorSourceOptions.setFeatures(lstFeatures);
    Vector vectorSource = new Vector(vectorSourceOptions);
    VectorLayerOptions vectorLayerOptions = new VectorLayerOptions();
    vectorLayerOptions.setSource(vectorSource);
    ol.layer.Vector vectorLayer = new ol.layer.Vector(vectorLayerOptions);
    // create a OSM-layer
    XyzOptions osmSourceOptions = new XyzOptions();
    Osm osmSource = new Osm(osmSourceOptions);
    LayerOptions osmLayerOptions = new LayerOptions();
    osmLayerOptions.setSource(osmSource);
    Tile osmLayer = new Tile(osmLayerOptions);
    // create a view
    View view = new View();
    Coordinate centerCoordinate = new Coordinate(0, 0);
    view.setCenter(centerCoordinate);
    view.setZoom(2);
    // create the map
    MapOptions mapOptions = new MapOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Collection<Base> lstLayer = new Collection<Base>();
    lstLayer.push(osmLayer);
    lstLayer.push(vectorLayer);
    mapOptions.setLayers(lstLayer);
    Map map = new Map(mapOptions);
    // add some controls
    map.addControl(new ScaleLine());
    DemoUtils.addDefaultControls(map.getControls());
    // add some interactions
    map.addInteraction(new KeyboardPan());
    map.addInteraction(new KeyboardZoom());
    map.addControl(new Rotate());
}
Also used : XyzOptions(ol.source.XyzOptions) ScaleLine(ol.control.ScaleLine) KeyboardPan(ol.interaction.KeyboardPan) Rotate(ol.control.Rotate) MapOptions(ol.MapOptions) GeoJson(ol.format.GeoJson) Feature(ol.Feature) LayerOptions(ol.layer.LayerOptions) VectorLayerOptions(ol.layer.VectorLayerOptions) FeatureOptions(ol.FeatureOptions) Vector(ol.source.Vector) Osm(ol.source.Osm) Tile(ol.layer.Tile) View(ol.View) Base(ol.layer.Base) VectorLayerOptions(ol.layer.VectorLayerOptions) Coordinate(ol.Coordinate) LineString(ol.geom.LineString) KeyboardZoom(ol.interaction.KeyboardZoom) Collection(ol.Collection) Map(ol.Map) VectorOptions(ol.source.VectorOptions)

Example 2 with Vector

use of ol.source.Vector in project gwt-ol3 by TDesjardins.

the class MarkerExample method show.

/* (non-Javadoc)
     * @see de.desjardins.ol3.demo.client.example.Example#show() */
@Override
public void show(String exampleId) {
    // create a point
    Coordinate coordinate1 = OLFactory.createCoordinate(4e6, 2e6);
    Point point1 = new Point(coordinate1);
    // create feature
    FeatureOptions featureOptions = OLFactory.createOptions();
    featureOptions.setGeometry(point1);
    Feature feature = new Feature(featureOptions);
    Collection<Feature> features = new Collection<Feature>();
    features.push(feature);
    // create source
    VectorOptions vectorSourceOptions = OLFactory.createOptions();
    vectorSourceOptions.setFeatures(features);
    Vector vectorSource = new Vector(vectorSourceOptions);
    // create style
    StyleOptions styleOptions = new StyleOptions();
    IconOptions iconOptions = new IconOptions();
    iconOptions.setSrc("https://openlayers.org/en/v3.20.1/examples/data/icon.png");
    Icon icon = new Icon(iconOptions);
    styleOptions.setImage(icon);
    Style style = new Style(styleOptions);
    VectorLayerOptions vectorLayerOptions = OLFactory.createOptions();
    vectorLayerOptions.setSource(vectorSource);
    vectorLayerOptions.setStyle(style);
    ol.layer.Vector vectorLayer = new ol.layer.Vector(vectorLayerOptions);
    // create a OSM-layer
    XyzOptions osmSourceOptions = OLFactory.createOptions();
    Osm osmSource = new Osm(osmSourceOptions);
    LayerOptions osmLayerOptions = OLFactory.createOptions();
    osmLayerOptions.setSource(osmSource);
    Tile osmLayer = new Tile(osmLayerOptions);
    // create a view
    View view = new View();
    Coordinate centerCoordinate = OLFactory.createCoordinate(0, 0);
    view.setCenter(centerCoordinate);
    view.setZoom(2);
    // create the map
    MapOptions mapOptions = new MapOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Collection<Base> lstLayer = new Collection<Base>();
    lstLayer.push(osmLayer);
    lstLayer.push(vectorLayer);
    mapOptions.setLayers(lstLayer);
    Map map = new Map(mapOptions);
    // add some controls
    map.addControl(new ScaleLine());
    DemoUtils.addDefaultControls(map.getControls());
    // add some interactions
    map.addInteraction(new KeyboardPan());
    map.addInteraction(new KeyboardZoom());
    map.addControl(new Rotate());
}
Also used : XyzOptions(ol.source.XyzOptions) ScaleLine(ol.control.ScaleLine) KeyboardPan(ol.interaction.KeyboardPan) Rotate(ol.control.Rotate) MapOptions(ol.MapOptions) Feature(ol.Feature) LayerOptions(ol.layer.LayerOptions) VectorLayerOptions(ol.layer.VectorLayerOptions) FeatureOptions(ol.FeatureOptions) IconOptions(ol.style.IconOptions) Style(ol.style.Style) Vector(ol.source.Vector) Osm(ol.source.Osm) StyleOptions(ol.style.StyleOptions) Tile(ol.layer.Tile) Point(ol.geom.Point) View(ol.View) Base(ol.layer.Base) VectorLayerOptions(ol.layer.VectorLayerOptions) Coordinate(ol.Coordinate) KeyboardZoom(ol.interaction.KeyboardZoom) Collection(ol.Collection) Icon(ol.style.Icon) Map(ol.Map) VectorOptions(ol.source.VectorOptions)

Example 3 with Vector

use of ol.source.Vector in project gwt-ol3 by TDesjardins.

the class SelectFeaturesExample method show.

/* (non-Javadoc)
     * @see de.desjardins.ol3.demo.client.example.Example#show() */
@Override
public void show(String exampleId) {
    Coordinate centerCoordinate = new Coordinate(13.37, 52.52);
    Coordinate transformedMidPoint = Projection.transform(centerCoordinate, DemoConstants.EPSG_4326, DemoConstants.EPSG_3857);
    // create a polygon
    Polygon polygon = DemoUtils.createTestPolygon();
    // create a feature
    FeatureOptions featureOptions = OLFactory.createOptions();
    // TODO Setter for ID seems to doesn't have an effect in feature options.
    // featureOptions.setId("g1");
    featureOptions.setGeometry(polygon);
    Feature feature = new Feature(featureOptions);
    feature.setId("g1");
    feature.set("name", "triangle");
    // create another feature via cloning
    Feature feature2 = feature.clone();
    feature2.setId("g2");
    feature2.getGeometry().rotate(180, transformedMidPoint);
    Collection<Feature> lstFeatures = new Collection<Feature>();
    lstFeatures.push(feature);
    lstFeatures.push(feature2);
    VectorOptions vectorSourceOptions = OLFactory.createOptions();
    vectorSourceOptions.setFeatures(lstFeatures);
    Vector vectorSource = new Vector(vectorSourceOptions);
    VectorLayerOptions vectorLayerOptions = OLFactory.createOptions();
    vectorLayerOptions.setSource(vectorSource);
    ol.layer.Vector vectorLayer = new ol.layer.Vector(vectorLayerOptions);
    // create an OSM-layer
    XyzOptions osmSourceOptions = OLFactory.createOptions();
    Osm osmSource = new Osm(osmSourceOptions);
    LayerOptions osmLayerOptions = OLFactory.createOptions();
    osmLayerOptions.setSource(osmSource);
    Tile osmLayer = new Tile(osmLayerOptions);
    // create a view
    View view = new View();
    view.setCenter(transformedMidPoint);
    view.setZoom(14);
    // create the map
    MapOptions mapOptions = OLFactory.createOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Collection<Base> lstLayer = new Collection<Base>();
    lstLayer.push(osmLayer);
    lstLayer.push(vectorLayer);
    mapOptions.setLayers(lstLayer);
    Map map = new Map(mapOptions);
    // add some controls
    map.addControl(new ScaleLine());
    MousePositionOptions mousePositionOptions = OLFactory.createOptions();
    ProjectionOptions projectionOptions = OLFactory.createOptions();
    projectionOptions.setCode(DemoConstants.EPSG_4326);
    mousePositionOptions.setProjection(new Projection(projectionOptions));
    MousePosition mousePosition = new MousePosition(mousePositionOptions);
    mousePosition.setCoordinateFormat(Coordinate.createStringXY(5));
    map.addControl(mousePosition);
    SelectOptions selectOptions = new SelectOptions();
    selectOptions.setCondition(Condition.getClick());
    // create a select interaction
    final Select selectFeature = new Select(selectOptions);
    map.addInteraction(selectFeature);
    selectFeature.on("select", (event) -> {
        Collection<Feature> selectedFeatures = selectFeature.getFeatures();
        if (selectedFeatures.getLength() > 0) {
            Feature selectedFeature = selectedFeatures.item(0);
            String output = "You selected feature with id '" + selectedFeature.getId() + "'" + " and name '" + selectedFeature.get("name") + "'" + " and geometry name '" + selectedFeature.getGeometryName() + "'" + ".";
            Window.alert(output);
        }
    });
}
Also used : XyzOptions(ol.source.XyzOptions) ScaleLine(ol.control.ScaleLine) MapOptions(ol.MapOptions) MousePositionOptions(ol.control.MousePositionOptions) Projection(ol.proj.Projection) Feature(ol.Feature) LayerOptions(ol.layer.LayerOptions) VectorLayerOptions(ol.layer.VectorLayerOptions) FeatureOptions(ol.FeatureOptions) MousePosition(ol.control.MousePosition) Polygon(ol.geom.Polygon) Vector(ol.source.Vector) SelectOptions(ol.interaction.SelectOptions) Osm(ol.source.Osm) Tile(ol.layer.Tile) View(ol.View) Base(ol.layer.Base) VectorLayerOptions(ol.layer.VectorLayerOptions) Coordinate(ol.Coordinate) Select(ol.interaction.Select) Collection(ol.Collection) ProjectionOptions(ol.proj.ProjectionOptions) Map(ol.Map) VectorOptions(ol.source.VectorOptions)

Example 4 with Vector

use of ol.source.Vector in project gwt-ol3 by TDesjardins.

the class WfsExample method show.

/* (non-Javadoc)
     * @see de.desjardins.ol3.demo.client.example.Example#show()
     */
@Override
public void show(String exampleId) {
    // create a vector layer
    Vector vectorSource = new Vector();
    VectorLayerOptions vectorLayerOptions = new VectorLayerOptions();
    vectorLayerOptions.setSource(vectorSource);
    ol.layer.Vector wfsLayer = new ol.layer.Vector(vectorLayerOptions);
    // create a view
    View view = new View();
    Coordinate centerCoordinate = new Coordinate(-8908887.277395891, 5381918.072437216);
    view.setCenter(centerCoordinate);
    view.setZoom(12);
    view.setMaxZoom(19);
    // create the map
    MapOptions mapOptions = OLFactory.createOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Map map = new Map(mapOptions);
    map.addLayer(DemoUtils.createOsmLayer());
    map.addLayer(wfsLayer);
    Wfs wfs = new Wfs();
    WfsWriteFeatureOptions wfsWriteFeatureOptions = new WfsWriteFeatureOptions();
    String[] featureTypes = { "water_areas" };
    wfsWriteFeatureOptions.setSrsName("EPSG:3857");
    wfsWriteFeatureOptions.setFeaturePrefix("osm");
    wfsWriteFeatureOptions.setFeatureNS("http://openstreemap.org");
    wfsWriteFeatureOptions.setFeatureTypes(featureTypes);
    // set a filter
    wfsWriteFeatureOptions.setFilter(new IsLike("name", "Mississippi*"));
    wfsWriteFeatureOptions.setOutputFormat("application/json");
    // create WFS-XML node
    Node wfsNode = wfs.writeGetFeature(wfsWriteFeatureOptions);
    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST, "https://ahocevar.com/geoserver/wfs");
    requestBuilder.setRequestData(new XMLSerializer().serializeToString(wfsNode));
    requestBuilder.setCallback(new RequestCallback() {

        @Override
        public void onResponseReceived(com.google.gwt.http.client.Request request, Response response) {
            GeoJson geoJson = new GeoJson();
            Feature[] features = geoJson.readFeatures(response.getText());
            vectorSource.addFeatures(features);
            map.getView().fit(vectorSource.getExtent());
        }

        @Override
        public void onError(com.google.gwt.http.client.Request request, Throwable exception) {
            Window.alert(exception.getMessage());
        }
    });
    try {
        requestBuilder.send();
    } catch (RequestException e) {
        Window.alert(e.getMessage());
    }
}
Also used : RequestBuilder(com.google.gwt.http.client.RequestBuilder) MapOptions(ol.MapOptions) Node(elemental2.dom.Node) GeoJson(ol.format.GeoJson) IsLike(ol.format.filter.IsLike) RequestException(com.google.gwt.http.client.RequestException) Vector(ol.source.Vector) XMLSerializer(com.github.desjardins.elemental.XMLSerializer) Wfs(ol.format.Wfs) View(ol.View) VectorLayerOptions(ol.layer.VectorLayerOptions) Response(com.google.gwt.http.client.Response) WfsWriteFeatureOptions(ol.format.WfsWriteFeatureOptions) RequestCallback(com.google.gwt.http.client.RequestCallback) Coordinate(ol.Coordinate) Map(ol.Map)

Example 5 with Vector

use of ol.source.Vector in project gwt-ol3 by TDesjardins.

the class ClusterExample method show.

/* (non-Javadoc)
     * @see de.desjardins.ol3.demo.client.example.Example#show() */
@Override
public void show(String exampleId) {
    Collection<Feature> features = new Collection<Feature>();
    int e = 450000;
    for (int i = 0; i < 20000; ++i) {
        // create a point
        Coordinate coordinate = new Coordinate(2 * e * Math.random() - e, 2 * e * Math.random() - e);
        Point point = new Point(coordinate);
        // create feature
        FeatureOptions featureOptions = new FeatureOptions();
        featureOptions.setGeometry(point);
        Feature feature = new Feature(featureOptions);
        features.push(feature);
    }
    // create source
    VectorOptions vectorSourceOptions = new VectorOptions();
    vectorSourceOptions.setFeatures(features);
    Vector vectorSource = new Vector(vectorSourceOptions);
    // create clustering
    ClusterOptions clusterOptions = new ClusterOptions();
    clusterOptions.setDistance(40);
    clusterOptions.setSource(vectorSource);
    Cluster clusterSource = new Cluster(clusterOptions);
    // create vector layer
    VectorLayerOptions vectorLayerOptions = new VectorLayerOptions();
    vectorLayerOptions.setSource(clusterSource);
    vectorLayerOptions.setStyle(new GenericFunction<Feature, Style[]>() {

        @Override
        public Style[] call(Feature cluster) {
            // create style
            List<Style> style = new ArrayList<>();
            Feature[] features = (Feature[]) cluster.get("features");
            int clusterSize = features.length;
            StyleOptions styleOptions = new StyleOptions();
            TextOptions textOptions = new TextOptions();
            textOptions.setText(String.valueOf(clusterSize));
            styleOptions.setText(new Text(textOptions));
            CircleOptions circleOptions = new CircleOptions();
            circleOptions.setRadius(10);
            Color color = Color.getColorFromString("#3399CC");
            circleOptions.setFill(OLFactory.createFill(color));
            styleOptions.setImage(new Circle(circleOptions));
            style.add(new Style(styleOptions));
            return style.toArray(new Style[0]);
        }
    });
    ol.layer.Vector vectorLayer = new ol.layer.Vector(vectorLayerOptions);
    // create a OSM-layer
    XyzOptions osmSourceOptions = new XyzOptions();
    Osm osmSource = new Osm(osmSourceOptions);
    LayerOptions osmLayerOptions = new LayerOptions();
    osmLayerOptions.setSource(osmSource);
    Tile osmLayer = new Tile(osmLayerOptions);
    // create a view
    View view = new View();
    Coordinate centerCoordinate = new Coordinate(0, 0);
    view.setCenter(centerCoordinate);
    view.setZoom(2);
    // create the map
    MapOptions mapOptions = new MapOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Collection<Base> lstLayer = new Collection<Base>();
    lstLayer.push(osmLayer);
    lstLayer.push(vectorLayer);
    mapOptions.setLayers(lstLayer);
    Map map = new Map(mapOptions);
    // add some controls
    map.addControl(new ScaleLine());
    DemoUtils.addDefaultControls(map.getControls());
    // add some interactions
    map.addInteraction(new KeyboardPan());
    map.addInteraction(new KeyboardZoom());
    map.addControl(new Rotate());
}
Also used : XyzOptions(ol.source.XyzOptions) ScaleLine(ol.control.ScaleLine) KeyboardPan(ol.interaction.KeyboardPan) Rotate(ol.control.Rotate) MapOptions(ol.MapOptions) Feature(ol.Feature) LayerOptions(ol.layer.LayerOptions) VectorLayerOptions(ol.layer.VectorLayerOptions) TextOptions(ol.style.TextOptions) FeatureOptions(ol.FeatureOptions) CircleOptions(ol.style.CircleOptions) Style(ol.style.Style) ArrayList(java.util.ArrayList) List(java.util.List) Vector(ol.source.Vector) Circle(ol.style.Circle) Color(ol.color.Color) Osm(ol.source.Osm) Cluster(ol.source.Cluster) StyleOptions(ol.style.StyleOptions) Tile(ol.layer.Tile) Text(ol.style.Text) Point(ol.geom.Point) View(ol.View) Point(ol.geom.Point) Base(ol.layer.Base) ClusterOptions(ol.source.ClusterOptions) VectorLayerOptions(ol.layer.VectorLayerOptions) Coordinate(ol.Coordinate) KeyboardZoom(ol.interaction.KeyboardZoom) Collection(ol.Collection) Map(ol.Map) VectorOptions(ol.source.VectorOptions)

Aggregations

Coordinate (ol.Coordinate)5 Map (ol.Map)5 MapOptions (ol.MapOptions)5 View (ol.View)5 VectorLayerOptions (ol.layer.VectorLayerOptions)5 Vector (ol.source.Vector)5 Collection (ol.Collection)4 Feature (ol.Feature)4 FeatureOptions (ol.FeatureOptions)4 ScaleLine (ol.control.ScaleLine)4 Base (ol.layer.Base)4 LayerOptions (ol.layer.LayerOptions)4 Tile (ol.layer.Tile)4 Osm (ol.source.Osm)4 VectorOptions (ol.source.VectorOptions)4 XyzOptions (ol.source.XyzOptions)4 Rotate (ol.control.Rotate)3 KeyboardPan (ol.interaction.KeyboardPan)3 KeyboardZoom (ol.interaction.KeyboardZoom)3 GeoJson (ol.format.GeoJson)2