Som Mapserver fungerar

Förra gången vi pratade om varför vissa kriterier MapServer och grunderna för installationen. Låt oss nu se en del av sin verksamhet i en övning med kartorna på Chiapanecans.

mapserver geoserver Där den är monterad

När Apache har installerats är mappen OSGeo4W standard MapServer-katalogen direkt över C: /

Inuti finns det olika mappar med program beroende på vad som är installerat, men mappen för publicering måste gå in i apache. I det här fallet kallas mappen som heter gis.

  • Inuti innehåller datapappen lagren, ortofotoen etc.
  • I mappen etc används de sanna typsnitt som används för etiketterna, med förlängning .ttf. Här är också en txt-fil som lyfter dem och en annan som definierar symboler.
  • Och slutligen i mappen httdocs går webbsidorna som lyfter tjänsten.
  • mapserver geoserver

Webbplatsen

I exemplet kommer jag att använda det fall som visades föregående gång. Det innehåller i princip en indexfil som omdirigerar till en phtml-förlängning, vilket i sin tur ökar funktionerna som bygger på en php och kartor. En mapp innehåller de länkade bilderna från sidan.

mapserver geoserver

Om vi ​​tittar är phtml bara skalet byggt från tabeller och kallas till mapscript / php-funktionerna. Du borde gå upp med:

http://localhost/gis/gispalenque.phtml

Resultatet visas nedan:

  • till mitten av funktionen GMapDrawMap (),
  • till höger kallas till GMapDrawKeyMap keymap (),
  • skalfältet nedan GMapDrawScaleBar (),
  • och i händelse av installationsfunktioner, ett villkor för listrutan om (! IsHtmlMode ()) eko "<! -" med besluten: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.

Redan körs ser displayen ut så här:

mapserver geoserver

.mappfilerna

Kombinationen av Mapserver-publikationen ligger i vad Apache höjer, vilket skickar php genom mapscript och då går det genom det här skalet. Men det mesta av vetenskapen finns i .mappfilerna, som inte får förväxlas med de som genereras av Mapinfo, Manifold eller Mobile Mapper Office med samma tillägg.

Dessa .kart är textfiler, som innehåller kartan i form av ett skript. Dessa kan skapas med skrivbordsprogram som Quantum GIS, om de är inställda finns en för huvudkartan, en för Keymap och två för OGC-tjänsterna wms och wfs. Låt oss se hur mapscript fungerar:

KARTA

NAME PALENQUE_DEMO
STATUS PÅ
STORLEK 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 #Vy av hela kartan av Palenque
#EXTENT 605786 1935102 608000 1938800 #SOLO 01 SEKTOREN
ENHETER METERS
SHAPEPATH "../data"
TRANSPARENT PÅ
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt

  • MAP indikerar att du startar skriptet
  • STATUS, indikerar om standardkartan är på eller inte
  • STORLEK är storleken på displayen
  • SYMBOLSET visar symbolens rutt
  • EXTENT är koordinaterna på displayen. Symbolen # används för att göra anteckningar
  • Enheter för enheter
  • SHAPEPATH, den väg där lagren är
  • Allt i slutändan slutar med kommandot END

Inuti börjar koden med en kommandorad, och slutar med END, till exempel för minsta och maximala skalan. katalog över tillfälliga bilder:

WEB
MINSCALE 2000000
MAXSCALE 50000000

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

mapserver geoserverSkalfältet:

Scalebar
IMAGECOLOR 255 255 255
ETIKETT
FÄRG 0 0 0
Storlek Small
SLUT
STORLEK 300 5
FÄRG 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS kilometer
INTERVALLER 3
STATUS PÅ
SLUT

mapserver geoserverEtt lager av raster: det går av fond, med beskrivning i listan som "Ortofoto", från en tiff som ligger i datapappen:

SKIKT
NAME orthophoto
METADATA
"BESKRIVNING" "OrtoFoto"
SLUT
TYP RASTER
STATUS AV
DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
SLUT

Ett lager shp polygon tematizada baserat på kriterier, höja vissa uppgifter på en HTML-mall med en etikett sans teckensnitt, storlek 6, svarta och vita kanter buffert 5 ...

mapserver geoserver

SKIKT
NAME sektor02Zone
TYPE POLYGON
STATUS AV
ÖPPENHET 50
EXTENT 607852 1935706 610804 1938807 METADATA
"BESKRIVNING" "Tematiskt efter värde sektorn 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop Area Perimeter VALUE"
SLUT
DATA PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANCE 5
#TOLERANCEUNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE ON
KLASS
SYMBOL 1
FÄRG 128 128 128
OUTLINECOLOR 0 0 0
NAMN "ZonaNULL"
EXPRESSION ([VALUE] = 0)
ETIKETT
ANGLE AUTO
FÄRG 0 0 0
FONT sans
TYPE TRUETYPE
POSITION cc

DELAR FALSK
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
SLUT
END #class 0 värde
KLASS
SYMBOL 3
FÄRG 255 128 128
#COLOR -1 -1 -1 #SIN FILLING

.... och så vidare tills stängning med

SLUT
END #Class Value
END # Layer

Sammanfattningsvis

Därför, för att arbeta med MapServer, även om det är ganska enkelt, blir det komplexa och mycket begränsade möjligheter för stora jobb eftersom allt är i .map. Den största nackdelen är att allt är gjort till fots, till exempel att definiera varje färg i en tema, och det är därför verktyg som CartoWeb, som fungerar på Mapserver men som innehåller inbyggda plugins och exempel med funktioner som gör denna primitiva versionen kvar som den readme först:

  • Arbeta separata ramar, med AJAX för att uppdatera dem separat
  • Parsa koden, förutsatt att ett skript omskriver .kartet baserat på parametrera kriterier
  • Dynamisk backrullning utan att behöva uppdateras, som om det var ett flashlager
  • Online vektorredigering, omedelbar skrivning på cachen
  • Ladda ner lager i vektorform
  • Exportera till Google Earth
  • Generera PDF av utplaceringen

På en nästa kommer vi att ta en titt på CartoWeb, här lämnar jag länken till huvudexemplen.

3 Svar på "Hur Mapserver fungerar"

  1. Hej,

    Jag försöker ringa ett lager från .mappen, enligt följande:

    SKIKT
    NAME testhus
    TYPPUNKT
    ANSLUTNINGTYPE OGR
    ANSLUTNING # »virtual.ovf»
    »

    xxxxx
    EXEC ......
    eess_id
    wkbPoint
    WGS84

    »

    Mitt problem är att DSN-tjänsten orsakar problem: När du begär en GetCapabilities returnerar du lösenordet till databasen ... kan jag ringa till en fil för att undvika att ge bort lösenordet eller är det ett DSN-fel ???? Tack!

  2. MapServer är ett populärt Open Source-projekt vars syfte är att visa dynamiska rumsliga kartor över Internet. En monterad enhet är en enhet som är mappad till en tom mapp på en volym som använder NTFS-filsystemet. Monterade enheter fungerar som alla andra enheter, men de tilldelas drivvägar istället för att driva bokstäver.

Lämna en kommentar

Din e-postadress kommer inte att publiceras.

Den här sidan använder Akismet för att minska spam. Läs om hur din kommentardata behandlas.