Som MapServer fungerer

Forrige gang snakket vi om noen kriterier hvorfor MapServer og grunnleggende installasjon. La oss nå se noe av driften i en øvelse med kartene til Chiapas-vennene.

 mapserver geoserver Hvor det er montert

Når Apache er installert, er standardpubliseringskatalogen for MapServer mappen OSGeo4W rett over C: /

Innvendig er det forskjellige mapper med applikasjoner avhengig av hva som er installert, men mappen for publisering må gå inne i apache. I dette tilfellet heter mappen gis.

  • Deretter inneholder data-mappen lagene, ortofotoen etc.
  • I etc-mappen er det ekte skrifttyper som brukes til etikettene, med en .ttf-utvidelse. Også her er en txt-fil som løfter dem og en annen som definerer symboler.
  • Og til slutt går httdocs i nettsidene som løfter tjenesten.
  • mapserver geoserver

Nettstedet

I eksemplet vil jeg bruke saken som ble vist sist. Den inneholder i utgangspunktet en indeksfil som omdirigerer til en phtml-utvidelse, og dette hever igjen funksjonene som er bygget på toppen av en php og kartene. En mappe inneholder bildene som er koblet fra siden.

mapserver geoserver

Hvis vi ser på det, er phtml bare skallet bygget fra tabeller, og kaller til mapscript / php-funksjonene. Du bør stå opp med:

http://localhost/gis/gispalenque.phtml

Resultatet er vist nedenfor:

  • til sentrum funksjonen GMapDrawMap (),
  • til høyre kalles til GMapDrawKeyMap keymap (),
  • skalaen nedenfor GMapDrawScaleBar (),
  • og i tilfelle distribusjonsfunksjoner, en betingelse for listeboksen hvis (! IsHtmlMode ()) ekko "  med avgjørelsene: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.

Serien ser allerede ut som dette:

mapserver geoserver

.map-filene

Kombinasjonen av Mapserver-publikasjonen er i hva Apache reiser, som sender php gjennom mapscript og som deretter kommer ut gjennom det skallet. Men det meste av vitenskapen ligger i .map-filer, for ikke å forveksle med de som genereres av Mapinfo, Manifold eller Mobile Mapper Office med samme utvidelse.

Disse .map er tekstfiler som inneholder kartet i skriptform. Disse kan opprettes med stasjonære programmer som Quantum GIS, hvis du merker at det er ett for hovedkartet, ett for Keymap og to for OGC wms og wfs-tjenestene. La oss se hvordan mapscript fungerer:

MAP

NAME PALENQUE_DEMO
STATUS PÅ
STØRRELSE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 #VERSIKT OVER HELE KARTET AV PALENQUE
#EXTENT 605786 1935102 608000 1938800 #SOLO SEKTOREN 01
ENHETER METERS
SHAPEPATH "../data"
TRANSPARENT PÅ
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt

  • MAP indikerer at du starter skriptet
  • STATUS, angir om standard kartet er på eller ikke
  • STØRRELSE er størrelsen på skjermen
  • SYMBOLSET viser symbolets rute
  • EXTENT er skjermkoordinatene. Symbolet # brukes til å lage kommentarer
  • Enheter for enheter
  • SHAPEPATH, ruten der lagene er
  • Alt til slutt kommer slutt med END-kommandoen

Innvendig begynner koden med en kommandolinje, og slutter med END, for eksempel for minimum og maksimal skala; katalog over midlertidige bilder:

WEB
  MINSCALE 2000000
  MAXSCALE 50000000

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

mapserver geoserverMålestangen:

Scalebar
  IMAGECOLOR 255 255 255
  LABEL
    FARGE 0 0 0
    STØRRELSE SMÅ
  END
  STØRRELSE 300 5
  FARGE 255 255 255
  BACKGROUNDCOLOR 0 0 0
  OUTLINECOLOR 0 0 0
  UNITS kilometer
  INTERVALER 3
  STATUS PÅ
END

mapserver geoserverEt rasterlag: som går i bakgrunnen, med en beskrivelse i listen som "Orthophoto", fra en tiff som ligger i datamappen:

 

 

LAG
  NAME orthophoto
  METADATA
    "BESKRIVELSE" "OrtoFoto"
  END
  TYPE RASTER
  STATUS AV
  DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
  #OFFSITE 0 0 0
END

Et shp-lag av polygoner, tematisert basert på kriterier, løfter noen data på en HTML-mal, med en sans-fontetikett, størrelse 6, svart farge og hvite kanter av 5-buffer ...

mapserver geoserver

LAG
  NAME sektor02Zone
  TYPE POLYGON
  STATUS AV
  TRANSPARENCY 50
  UTSTYR 607852 1935706 610804 1938807 METADATA
    "BESKRIVELSE" "Tema etter verdisektor 02"
    "RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop Område Perimeter VALUE"
  END
  DATA PALENQUE_SECTOR01
  TEMPLATE "ttt_query.html"
  TOLERANCE 5
  #TOLERANCEUNITS PIXELS
  LABELITEM "VALOR"
  CLASSITEM "VALOR"
  LABELCACHE ON
  KLASSE
    SYMBOL 1
    FARGE 128 128 128
    OUTLINECOLOR 0 0 0
    NAME "ZoneNULL"
    EXPRESSION ([VALUE] = 0)
    LABEL
         ANGLE AUTO
         FARGE 0 0 0
         FONT sans
         TYPE TRUETYPE
         POSITION cc
        
DELER FALSK
         BUFFER 5
         STØRRELSE 6
         OUTLINECOLOR 200 200 200
    END
  END #class 0 verdi
  KLASSE
    SYMBOL 3
    FARGE 255 128 128
    #COLOR -1 -1 -1 #SIN FILLING

.... og så videre inntil lukking med

END
  END #Class verdi
END # Layer

I konklusjonen

Derfor blir arbeid med mapserver, selv om det er ganske enkelt, komplekst og veldig begrenset for store jobber fordi alt er i .mappen. Den største ulempen er at alt gjøres til fots, for eksempel å definere hver farge i en tema, og av denne grunn dukker det opp verktøy som CartoWeb, som fungerer på Mapserver, men gir innebygde plugins og eksempler med egenskaper som gjør at denne primitive versjonen ser ut de readme først:

  • Arbeid separate rammer, med AJAX for å oppdatere dem separat
  • Parse koden, forutsatt at et skript omskriver .kartet basert på parametrerbare kriterier
  • Dynamisk rulle tilbake uten å kreve oppdatering, som om det var et flashlag
  • Online vektoredigering, umiddelbar skriving på hurtigbufferen
  • Last ned lag i vektorform
  • Eksporter til Google Earth
  • Generer PDF av distribusjonen

I det neste vil vi ta en titt på CartoWeb, her forlater jeg linken til hovedeksemplene.

3 Svar på “Hvordan Mapserver fungerer”

  1. Hei,

    Jeg prøver å ringe et lag fra .kartet, som følger:

    LAG
    NAME testhouses
    TYPEPUNKT
    TILKOBLINGTYPE OGR
    FORBINDELSE # »virtual.ovf»
    »

    xxxxx
    EXEC …….
    eess_id
    wkbPoint
    WGS84

    »

    Problemet mitt er at DSN-tjenesten gir problemer: Når du ber om en GetCapabilities, returnerer den databasepassordet ... kan jeg ringe en fil for å unngå å "gi bort" passordet, eller er det en DSN-feil ???? Takk skal du ha!

  2. MapServer er et populært Open Source-prosjekt, hvis formål er å vise dynamiske romlige kart over Internett. En montert stasjon er en stasjon som er kartlagt til en tom mappe på et volum som bruker NTFS-filsystemet. Monterte stasjoner fungerer som alle andre stasjoner, men de tilordnes stasjonsbaner i stedet for stasjonsbokstaver.

Legg igjen svar

Din e-postadresse vil ikke bli publisert.

Dette nettstedet bruker Akismet for å redusere spam. Lær hvordan kommentardataene dine behandles.