As Mapserver werk
Laaste keer dat ons het gepraat oor waarom sommige kriteria Mapserver en die basiese beginsels van installasie. Kom ons kyk nou na die werking daarvan in 'n oefening met die kaarte van die Chiapas-kuste.
Waar is gemonteer
Sodra Apache geïnstalleer is, is die standaard mapserver-uitgewery die OSGeo4W-lêer direk oor C: /
Binne-in is daar verskillende vouers met toepassings, afhangende van wat geïnstalleer is, maar die vouer vir publikasie moet binne-in die apache wees. In hierdie geval word die lêergids gis genoem.
- Dan binne, die data gids bevat die lae, ortofoto, ens.
- In die map etc is daar die ware lettertipes wat vir die etikette gebruik word, met 'n .ttf-uitbreiding. Hier is ook 'n txt-lêer wat hulle oplig en 'n ander wat simbole definieer.
- En laastens, in die gids, gaan httdocs na die webbladsye wat die diens verhoog.
Die webblad
In die voorbeeld sal ek die saak wat die vorige keer gewys is, gebruik. Dit bevat basies 'n indekslêer wat na een met 'n phtml-uitbreiding herlei, en dit verhoog die funksies wat bo-op 'n php en die kaarte gebou is. 'N Gids bevat die beelde wat vanaf die bladsy gekoppel is.
As ons daarna kyk, is die phtml net die dop wat uit tabelle gebou is, en word daar na die mapscript / php-funksies geroep. U moet opstaan met:
http://localhost/gis/gispalenque.phtml
Hieronder is die resultaat:
- na die sentrum die funksie GMapDrawMap (),
- regs die oproep na keymap GMapDrawKeyMap (),
- die skaalbalk hieronder GMapDrawScaleBar (),
- en in die geval van die ontplooiingsfunksies, 'n voorwaarde ten opsigte van die lysbus as (! IsHtmlMode ()) eggo " met besluite: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Die implementering lyk alreeds soos volg:
Die. Map lêers
Die kombinasie van die Mapserver publikasie is in wat Apache verhoog, wat php deur stuur mapscript en dit kom dan uit deur daardie dop. Maar die meeste van die wetenskap is in .map-lêers, en moet nie verwar word met dié wat deur Mapinfo, Manifold of Mobile Mapper Office gegenereer word nie, met dieselfde uitbreiding.
Hierdie .map is tekslêers wat die kaart in skrifvorm bevat. Dit kan met lessenaarprogramme soos Quantum GIS geskep word. As u kyk, is daar een vir die hoofkaart, een vir die Keymap en twee vir die OGC wms- en wfs-dienste. Kom ons kyk hoe mapscript werk:
MAP
NAME PALENQUE_DEMO
STATUS OP
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 #LYS VAN ALLE KAART VAN PALENQUE
# EXTENT 605786 1935102 608000 1938800 #SOLO DIE 01 SEKTOR
EENHEDE METERS
SHAPEPATH ".. / data"
TRANSPARENTE AAN
IMAGECOLOR 255 255 255
FONTSET .. / etc / fonts.txt
- MAP dui aan begin script
- STATUS, dui aan of die standaardkaart op of nie is
- SIZE is die grootte van die skerm
- SIMBOLSET toon die pad van die simbole
- OMVANG is die vertoonkoördinate. Die # -simbool word gebruik om aantekeninge te maak
- EENHEDE vir eenhede
- SHAPEPATH, die pad waar die lae is
- Alles aan die einde sal eindig met die END-opdrag
Binne, die kode begin met 'n bevellyn en eindig met EINDE, byvoorbeeld vir minimum en maksimum skaal; gids van tydelike beelde:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
EINDE
Die skaalbalk:
Scalebar
IMAGECOLOR 255 255 255
ETIKET
KLEUR 0 0 0
GROOTTE KLEIN
EINDE
SIZE 300 5
KLEUR 255 255 255
AGTERGRONDKOLOR 0 0 0
OUTLINECOLOR 0 0 0
EENHEDE kilometers
INTERVALS 3
STATUS OP
EINDE
'N Rasterlaag: op die agtergrond, met 'n beskrywing in die lys as' Orthophoto ', van 'n tiff in die datamap:
LAAG
NAME orthophoto
METADATA
"BESKRYWING" "OrtoFoto"
EINDE
TIPE RASTER
STATUS OFF
DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
EINDE
'N Shp-laag van veelhoeke, tematiseer op grond van kriteria, die opheffing van sekere data op 'n HTML-sjabloon, met 'n sans lettertiketiket, grootte 6, swart kleur en wit rande van 5 buffer ...
LAAG
NAAM sektor02Zone
TIPE POLYGON
STATUS OFF
TRANSPARENTIE 50
UITBREIDING 607852 1935706 610804 1938807 METADATA
"BESKRYWING" "Tema volgens Waardesektor 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop Area Perimeter VALUE"
EINDE
DATA PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANSIE 5
#TOLERANCE UNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE ON
KLAS
SYMBOL 1
KLEUR 128 128 128
OUTLINECOLOR 0 0 0
NAAM "ZonaNULL"
UITDRUKKING ([VALUE] = 0)
ETIKET
ANGLE AUTO
KLEUR 0 0 0
FONT sans
TYPE TRUETYPE
Posisie cc
PARTIALE ONWAAR
BUFFER 5
GROOTTE 6
OUTLINECOLOR 200 200 200
EINDE
EINDE # klas 0 waarde
KLAS
SYMBOL 3
KLEUR 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
.... en so om naby te wees
EINDE
EINDE # Klaswaarde
EINDE # Laag
Ten slotte
Daarom werk dit met mapserver, hoewel dit redelik eenvoudig is, kompleks en baie beperk vir groot werk, want alles is in die .map. Die grootste nadeel is dat alles te voet gedoen word, soos om elke kleur in 'n tema te definieer, en om hierdie rede ontstaan gereedskap soos CartoWeb, wat op Mapserver werk, maar ingeboude inproppe en voorbeelde bring met eienskappe wat hierdie primitiewe weergawe laat lyk die readme eerste:
- Werk aparte rame, met AJAX om hulle afsonderlik te verfris
- Ontleed die kode, solank 'n script die .map herskryf, gebaseer op parametriabele kriteria
- Dinamiese terugrol sonder om te verfris, asof dit 'n flitslaag was
- Aanlyn vektor redigering, onmiddellike kas skryf
- Laai laag in vektorvorm af
- Uitvoer na Google Earth
- Genereer PDF vanaf die implementering
In 'n volgende kyk ons na CartoWeb, hier verlaat ek die skakel na die hoof voorbeelde.
Daar is 'n manier om die standaard phtml sjabloon uitvoer te hê, dankie
Hallo,
Ek probeer 'n laag van die .map te noem, soos volg:
LAAG
NAME test_houses
TIPE
VERBINDINGTYPE OGR
VERBINDING #"virtual.ovf"
"
xxxxx
EXEC …….
eess_id
wkbPoint
WGS84
"
My probleem is dat die DSN diens probleme veroorsaak: wanneer 'n GetCapabilities versoek word, stuur dit die databasis wagwoord terug... kan ek 'n oproep maak na 'n lêer om te verhoed dat die wagwoord "weggee" word of is dit 'n DSN fout???? Dankie!
MapServer is 'n gewilde Open Source-projek waarvan die doel is om dinamiese ruimtelike kaarte oor die internet te vertoon. 'N Gemonteerde aandrywer is 'n hardeskyf wat na 'n leë vouer gekarteer word op 'n volume wat die NTFS-lêersisteem gebruik. Gemonteerde dryf funksioneer soos enige ander dryf, maar hulle word bestuurspaaie toegewys in plaas van rybriewe.