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.
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.
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.
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:
.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 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END
Må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
Et 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 ...
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.
Det er en måte å ha standard phtml-malutgang, takk
Hei,
Jeg prøver å ringe et lag fra .kartet, som følger:
LAG
NAME testhouses
TYPEPUNKT
TILKOBLINGTYPE OGR
TILKOBLING #"virtual.ovf"
"
xxxxx
EXEC …….
eess_id
wkbPoint
WGS84
"
Problemet mitt er at DSN-tjenesten forårsaker 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!
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.