Mehr

WFS von Geosever wird in openLayers3 sehr langsam geladen

WFS von Geosever wird in openLayers3 sehr langsam geladen


Ich habe ursprünglich diese Frage zum Versuch gepostet, ein geoJSON mit openLayers3 zu laden: geojson very slow to load in openLayers3.

Basierend auf einem Vorschlag im Beitrag lade ich jetzt den Layer als WFS vom Geoserver. Allerdings ist die Reaktionszeit immer noch sehr langsam. Es wird schließlich in Firefox geladen, aber nicht einmal in Chrome - ich erhalte die Meldung "Er ist tot Jim". Ich frage mich, ob ich die Zoomstufe begrenzen soll, mit der die Daten gezeichnet werden (nur wenn Sie in eine ziemlich vergrößerte Ansicht gelangen) und was ich sonst noch tun kann, um die Reaktionszeit zu verbessern. Hier ist mein Code:

sourceVector = new ol.source.Vector({ loader: function(extent) { $.ajax('http://52.24.37.126:8080/geoserver/wfs',{ type: 'GET', data: { service: ' WFS', Version: '1.1.0', Request: 'GetFeature', typename: 'Iada_workspace:parcels', srsname: 'EPSG:3857', outputFormat: 'application/json', bbox: extension.join(',' ) + ',EPSG:3857' }, }).done(loadFeatures);}, Strategie: ol.loadingstrategy.tile(new ol.tilgrid.createXYZ({ maxZoom: 19 })), }); window.loadFeatures = Funktion (Antwort) { geoJSON = new ol.format.GeoJSON(); sourceVector.addFeatures(geoJSON.readFeatures(Antwort)); }; var layerVector = new ol.layer.Vector({ source: sourceVector, style: new ol.style.Style({stroke: new ol.style.Stroke({ color: 'rgba(0, 0, 255, 1.0)', Breite: 2})})}); var map = new ol.Map({layer: [new ol.layer.Tile({source: new ol.source.OSM()}), layerVector], target: document.getElementById('map'), view: new ol.View({ //Projektion:Projektionszentrum: ol.proj.transform( [-116, 42], 'EPSG:4326', 'EPSG:3857'), Zoom: 6}) });

Für alle Interessierten habe ich dies gelöst, indem ich die Eigenschaften minResolution und maxResolution für die Vektorebene festgelegt habe. Funktioniert perfekt.

var layerVector = new ol.layer.Vector({ source: sourceVector, minResolution: 0, maxResolution: 4, style: new ol.style.Style({stroke: new ol.style.Stroke({ color: 'rgba(25, 163, 255, 1.5)', Breite: 1})})});

Schau das Video: GeoServer. OpenLayers. Apache