Semplifica l'output WFS di GeoServer


12

Ho a che fare con alcuni set di dati di grandi dimensioni e vorrei ridurre al minimo la quantità di dati inviati tramite la rete. Sto usando la strategia BBox di OpenLayers per trasferire solo i dati necessari, ma mi chiedo se posso semplificare l'output in modo da poter mostrare livelli di zoom più bassi senza dover trasferire i dati con precisione / dettaglio non necessari.

Sto usando GeoServer come server WFS come parte del bundle OpenGeo.

Risposte:



3

Alcune possibili soluzioni:

  • Hai davvero bisogno dei dati in un formato vettoriale? Se i grandi poligoni complessi sono solo per riferimento, allora andranno bene come WMS / immagini. Se riesci a semplificarli, probabilmente non avrai comunque bisogno della geometria.
  • È possibile passare un parametro di generalizzazione a un livello della mappa tramite un parametro personalizzato e utilizzarlo per semplificare la geometria. Questo thread riguarda MapServer, ma suppongo che qualcosa di simile possa essere fatto con GeoServer - http://osgeo-org.1803224.n2.nabble.com/WFS-Server-Control-output-by-scale-td2279383.html
  • Inoltre indicato nel thread sopra, è possibile memorizzare i set di dati preimpostati per scale diverse e nasconderli / mostrarli nella mappa in base alle esigenze
  • Assicurati di avere la compressione gZip attivata sul tuo server web in quanto ciò ridurrà i file GML / XML di almeno la metà della dimensione

Ne ho sicuramente bisogno in formato vettoriale poiché voglio essere in grado di fare clic su di essi per ottenere ulteriori informazioni e modificare i poligoni (anche se ovviamente voglio solo essere in grado di modificare le forme vere, non le versioni semplificate, che potrebbero essere un po 'complicato).
Mr_Chimp,

1
@mr_chimp: è possibile utilizzare la richiesta GetFeatureInfo di WMS per restituire solo la geometria e gli attributi della funzione con un clic del mouse.
geographika,

3

Utilizzando la strategia del cluster OL , è possibile semplificare la rappresentazione (per gli utenti) ma la quantità di dati trasferiti non sarà inferiore, poiché la clusterizzazione viene eseguita sul lato client.

Vedi anche la pagina della documentazione .

(Non conosco le opzioni disponibili sul lato server)


Forse mi sbaglio, ma la strategia del cluster sembra essere per i dati puntuali. Ho dati poligonali complessi che vorrei semplificare.
Mr_Chimp,

Ciò non ridurrebbe il traffico di rete in quanto tutti i punti sarebbero necessari per il clustering lato client.
geographika,

@geographika> è quello che volevo dire, ma come puoi immaginare ho dimenticato la negazione nella mia frase (riparata ora)! È ancora un buon modo per migliorare la leggibilità per gli utenti finali
simo

@Mr_Chimp> nessun equivalente per i poligoni, anzi
simo

0

Se la tua preoccupazione è che il WFS sia "pesante" (il suo output GML è dettagliato per natura), il mio consiglio è che invece usi Well-Known Text (WKT), se possibile. Immagino che la strategia BBox di OpenLayers sia "compatibile" con WKT.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.