Som Mapserver fungerar

Förra gången vi pratade om varför vissa kriterier MapServer och grunderna för installation. Låt oss nu se en del av dess funktion i en övning med kartorna över Chiapas-kuaten.

 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 applikationer beroende på vad som är installerat, men mappen för publicering måste gå in i apache. I det här fallet heter mappen gis.

  • Inuti innehåller datapappen lagren, ortofotoen etc.
  • I mappen etc finns de typsnitt av äkta typ som används för etiketterna, med tillägget .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örra gången. Den innehåller i grunden en indexfil som omdirigeras till en med en phtml-förlängning, vilket i sin tur höjer funktionerna byggda ovanpå en php och kartorna. En mapp innehåller bilderna länkade från sidan.

mapserver geoserver

Om vi ​​tittar på det är phtml bara skalet byggt från tabeller och kallar till mapscript / php-funktionerna. Du bör 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 ()) ekar "  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 det kommer sedan ut ur det skalet. Men det mesta av vetenskapen finns i .map-filer, inte att förväxla med de som genereras av Mapinfo, Manifold eller Mobile Mapper Office med samma tillägg.

Dessa .map är textfiler som innehåller kartan i skriptform. Dessa kan skapas med stationära program som Quantum GIS, om du ser finns det en för huvudkartan, en för Keymap och två för OGC wms- och wfs-tjänsterna. 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 displaykoordinaterna. 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 rasterskikt: som går i bakgrunden, med en beskrivning i listan som "Orthophoto", från en tiff som finns i datamappen:

 

 

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
  OMFATTNING 607852 1935706 610804 1938807 METADATA
    "BESKRIVNING" "Tema efter värdesektor 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 "VALUE"
  KLASSITEM "VALUE"
  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 arbetar det med mapserver, även om det är ganska enkelt, blir det komplicerat och mycket begränsat för stora jobb eftersom allt finns i .map. Den största nackdelen är att allt görs till fots, som att definiera varje färg i en tema, och av detta skäl uppstår verktyg som CartoWeb, som fungerar på Mapserver men ger inbyggda plugins och exempel med egenskaper som gör att denna primitiva version ser ut de 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 ger problem: när jag begär en GetCapabilities returnerar databaslösenordet ... kan jag ringa 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 ett svar

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.