Come funziona Mapserver

L'ultima volta che abbiamo parlato perché alcuni criteri MapServer e le basi dell'installazione. Ora vediamo alcune delle sue operazioni in un esercizio con le mappe dei Chiapanecans.

maperver geoserver Dove è montato

Una volta installata Apache, la cartella predefinita MapServer è la cartella OSGeo4W direttamente su C: /

All'interno, ci sono diverse cartelle con applicazioni a seconda di cosa è installato, ma la cartella per la pubblicazione deve passare all'interno di apache. In questo caso la cartella chiamata gis.

  • Allora all'interno, la cartella dati contiene i layer, l'ortofoto, ecc.
  • Nella cartella ecc., I tipi di carattere true utilizzati per le etichette, con estensione .ttf. Anche qui c'è un file txt che li alza e un altro che definisce i simboli.
  • E infine nella cartella httdocs andare le pagine web che sollevano il servizio.
  • maperver geoserver

Il sito web

Nell'esempio, userò il caso mostrato la volta precedente. Fondamentalmente contiene un file di indice che reindirizza a un'estensione phtml, e questo a sua volta aumenta le funzioni costruite su un php e mappe. Una cartella contiene le immagini collegate dalla pagina.

maperver geoserver

Se guardiamo, il phtml è solo la shell creata dalle tabelle e chiamata alle funzioni mapscript / php. Dovresti alzarti usando:

http://localhost/gis/gispalenque.phtml

Di seguito è il risultato:

  • al centro la funzione GMapDrawMap (),
  • sulla destra la chiamata a keymap GMapDrawKeyMap (),
  • la barra di scala qui sotto GMapDrawScaleBar (),
  • e in caso di funzioni di distribuzione, una condizione rispetto alla casella di riepilogo if (! IsHtmlMode ()) echo "<! -" con decisioni: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.

La distribuzione è già in esecuzione:

maperver geoserver

I file .map

La combinazione della pubblicazione di Mapserver è in quello che Apache solleva, che invia il php attraverso MapScript e poi passa attraverso quel guscio. Ma la maggior parte della scienza è nei file .map, che non devono essere confusi con quelli generati da Mapinfo, Manifold o Mobile Mapper Office con la stessa estensione.

Questi .map sono file di testo, che contengono la mappa sotto forma di script. Questi possono essere creati con programmi desktop come GIS Quantum, se sono impostati ce ne sono uno per la mappa principale, uno per la Keymap e due per i servizi OGC wms e wfs. Vediamo come funziona il mapscript:

MAP

NOME PALENQUE_DEMO
STATUS ON
FORMATO 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 #VIEW DELL'AUTO MAPPA DI PALENQUE
#EXTENT 605786 1935102 608000 1938800 #SOLO IL SETTORE 01
MISURATORI UNITI
SHAPEPATH "../data"
TRASPARENTE ON
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt

  • MAP indica che si avvia lo script
  • STATUS, indica se la mappa predefinita è attiva o meno
  • SIZE è la dimensione del display
  • SYMBOLSET mostra la rotta dei simboli
  • EXTENT sono le coordinate del display. Il simbolo # viene utilizzato per creare annotazioni
  • Unità per unità
  • SHAPEPATH, il percorso in cui sono i livelli
  • Tutto alla fine terminerà con il comando END

All'interno, il codice inizia con una riga di comando e termina con END, ad esempio per la scala minima e massima; directory delle immagini temporanee:

WEB
2000000 MINSCALE
MAXSCALE 50000000

IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END

maperver geoserverLa barra di scala:

Scalebar
IMAGECOLOR 255 255 255
ETICHETTA
COLORE 0 0 0
TAGLIA PICCOLA
END
FORMATO 300 5
COLORE 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITÀ chilometri
INTERVALLI 3
STATUS ON
END

maperver geoserverUno strato di raster: che va di fondo, con la descrizione nella lista come "Ortofoto", da un tiff situato nella cartella dei dati:

LAYER
NOME ortofoto
METADATA
"DESCRIZIONE" "OrtoFoto"
END
TIPO RASTER
STATUS OFF
DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
END

Uno strato di poligoni di tipo PS, tematico basato su criteri, sollevamento di alcuni dati su un modello html, con etichetta di carattere sans, dimensione 6, colore nero e bordi bianchi del buffer 5 ...

maperver geoserver

LAYER
NOME settore02Zone
TIPO POLIGONO
STATUS OFF
TRASPARENZA 50
EXTENT 607852 1935706 610804 1938807 METADATA
"DESCRIZIONE" "Tematica per settore valore 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop Area Perimeter VALUE"
END
DATA PALENQUE_SECTOR01
MODELLO "ttt_query.html"
TOLLERANZA 5
#TOLERANCEUNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE SU
CLASSE
SYMBOL 1
COLORE 128 128 128
OUTLINECOLOR 0 0 0
NOME "ZonaNULL"
ESPRESSIONE ([VALUE] = 0)
ETICHETTA
ANGOLO AUTO
COLORE 0 0 0
FONT sans
TIPO TRUETYPE
POSIZIONE cc

PARTIALS FALSE
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
END
END #class Valore 0
CLASSE
SYMBOL 3
COLORE 255 128 128
#COLOR -1 -1 -1 #SIN FILLING

.... e così via fino alla chiusura

END
END #Class Value
END # Layer

Insomma

Da qui, che funziona con mapserver, anche se è abbastanza semplice, diventa medio complesso e molto limitato per lavori di grandi dimensioni perché tutto è nella .map. Il più grande svantaggio è che tutto è fatto a piedi, come la definizione di ogni colore in un tema, ed è per questo che strumenti come CartoWeb, che funziona su Mapserver ma dotati di plug-in e esempi con funzionalità che rendono questa versione primitiva come il prima lettura:

  • Lavori i fotogrammi separati, con AJAX per aggiornarli separatamente
  • Analizza il codice, a patto che uno script riscrivi la .map sulla base di criteri parametrizzabili
  • Scorrimento dinamico della schiena senza richiedere aggiornamenti, come se fosse uno strato flash
  • Modifica vettoriale in linea, scrittura cache immediata
  • Scarica il livello in forma vettoriale
  • Esporta in Google Earth
  • Generare PDF della distribuzione

In un prossimo daremo un'occhiata a CartoWeb, qui lascio il link agli esempi principali.

3 Risposte a "Come funziona Mapserver"

  1. Ciao,

    Sto provando a chiamare un livello dal .map, come segue:

    LAYER
    NOME testhouse
    PUNTO DI TIPO
    CONNECTIONTYPE OGR
    CONNECTION # »virtual.ovf»
    »

    xxxxx
    EXEC .......
    eess_id
    wkbPoint
    WGS84

    »

    Il mio problema è che il servizio DSN sta causando problemi: quando richiedi una GetCapabilities restituisce la password del database ... posso effettuare una chiamata a un file per evitare di "dare via" la password o è un errore DSN ???? Grazie!

  2. MapServer è un popolare progetto Open Source il cui scopo è quello di visualizzare mappe spaziali dinamiche su Internet. Un drive montato è un'unità mappata in una cartella vuota di un volume che utilizza il file system NTFS. Le unità montate funzionano come tutte le altre unità, ma vengono assegnati percorsi di unità anziché lettere di unità.

Lascia un commento

L'indirizzo email non verrà pubblicato.

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.