Cum funcționează Mapserverul
Data anterioară am vorbit despre anumite criterii MapServer și elementele de bază ale instalării. Acum să vedem o parte din funcționarea sa într-un exercițiu cu hărțile cuiaților Chiapas.
Unde este montat
Odată ce Apache este instalat, directorul implicit de publicare pentru MapServer este folderul OSGeo4W direct peste C: /
În interior, există diferite foldere cu aplicații în funcție de ceea ce este instalat, dar folderul pentru publicare trebuie să intre în apache. În acest caz, folderul numit gis.
- Apoi, în interior, dosarul de date conține straturile, ortofoto, etc.
- În folderul etc, există fonturile de tip adevărat utilizate pentru etichete, cu o extensie .ttf. De asemenea, aici este un fișier txt care le ridică și un altul care definește simbolurile.
- Și, în final, în dosarul httdocs accesați paginile web care ridică serviciul.
Pagina web
În exemplu, voi folosi cazul afișat ultima dată. Practic conține un fișier index care redirecționează către unul cu o extensie phtml, iar acesta la rândul său crește funcțiile construite deasupra unui php și a hărților. Un folder conține imaginile legate de pagină.
Dacă ne uităm la el, phtml este doar shell-ul construit din tabele și apelează la funcțiile mapscript / php. Ar trebui să vă ridicați folosind:
http://localhost/gis/gispalenque.phtml
Rezultatul este prezentat mai jos:
- la centrul funcției GMapDrawMap (),
- la dreapta apelul către cheiemapmap GMapDrawKeyMap (),
- bara de scală de mai jos GMapDrawScaleBar (),
- iar în cazul funcțiilor de implementare, o condiție în raport cu lista dacă (! IsHtmlMode ()) ecou " cu decizii: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Deja rulează, desfășurarea arată astfel:
Fișierele .map
Combinația publicației Mapserver se află în ceea ce ridică Apache, care trimite prin php mapscript și care apoi iese din coajă. Dar cea mai mare parte a științei se află în fișierele .map, care nu trebuie confundate cu cele generate de Mapinfo, Manifold sau Mobile Mapper Office cu aceeași extensie.
Aceste .map sunt fișiere text, care conțin harta sub formă de script. Acestea pot fi create cu programe desktop precum Quantum GIS, dacă vă uitați, există una pentru harta principală, una pentru Keymap și două pentru serviciile OGC wms și wfs. Să vedem cum funcționează mapscript:
MAP
NAME PALENQUE_DEMO
STATUS ON
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 # VIZUALIZAREA CELOR HARTA PALENCII
#EXTENT 605786 1935102 608000 1938800 #SOLO SECTORUL 01
UNITĂȚI METRI
SHAPEPATH "../data"
TRANSPARENT ON
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP indică faptul că porniți scriptul
- STATUS, indică dacă harta implicită este activată sau nu
- SIZE este dimensiunea afișajului
- SYMBOLSET arată traseul simbolurilor
- EXTENT sunt coordonatele de afișare. Simbolul # este utilizat pentru a face adnotări
- UNITĂȚI pentru unități
- SHAPEPATH, traseul unde sunt straturile
- Totul la sfârșit se va încheia cu comanda END
În interior, codul începe cu o linie de comandă și se termină cu END, de exemplu pentru scara minimă și maximă; director de imagini temporare:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
Sfârşit
Bara de scară:
Scalebar
IMAGECOLOR 255 255 255
ETICHETA
CULOARE 0 0 0
de dimensiuni mici
Sfârşit
SIZE 300 5
CULOARE 255 255 255
COLECTIVUL 0 0 0
OUTLINECOLOR 0 0 0
UNITS kilometri
INTERVALS 3
STATUS ON
Sfârşit
Un strat raster: care merge în fundal, cu o descriere în listă ca „Ortofoto”, dintr-un tiff situat în folderul de date:
STRATULUI
NAME orthophoto
METADATE
"DESCRIERE" "OrtoFoto"
Sfârşit
TIP RASTER
STATUS OFF
DATE "C: \ OSGeo4W / apps / gis / data / orthophotoGral.tif"
#OFFSITE 0 0 0
Sfârşit
Un strat de poligoane Shp, tematice bazate pe criterii, ridicarea unor date pe un șablon html, cu o etichetă pentru fonturi sansă, dimensiunea 6, culoarea neagră și marginile albe ale tamponului 5 ...
STRATULUI
NAME sector02Zone
TIPUL POLYGON
STATUS OFF
TRANSPARENȚA 50
EXTENT 607852 1935706 610804 1938807 METADATE
„DESCRIERE” „Tema după sectorul valoric 02”
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred Perimetru de suprafață VALUE"
Sfârşit
DATE PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANȚĂ 5
# TOLERANCEUNITS PIXELS
"VALOARE" LABELITEM
CLASITEM „VALOARE”
LABELCACHE ON
CLASĂ
SYMBOL 1
CULOARE 128 128 128
OUTLINECOLOR 0 0 0
NUME „ZonaNULL”
EXPRESIE ([VALUE] = 0)
ETICHETA
ANGLE AUTO
CULOARE 0 0 0
FONT sans
TIP TRUETYPE
POZIȚIA cc
PARTIALE FALSE
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
Sfârşit
END #class Valoarea 0
CLASĂ
SYMBOL 3
CULOARE 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
.... și astfel să închidem
Sfârşit
END #Class Value
END # Layer
În concluzie
Prin urmare, lucrul cu mapserver, deși este destul de simplu, devine complex și foarte limitat pentru lucrări mari, deoarece totul este în .map. Cel mai mare dezavantaj este că totul se face pe jos, cum ar fi definirea fiecărei culori într-o temă, și din acest motiv apar instrumente precum CartoWeb, care funcționează pe Mapserver, dar aduce plugin-uri încorporate și exemple cu caracteristici care fac ca această versiune primitivă să arate ca el citiți mai întâi:
- Lucrați cu cadre separate, cu AJAX pentru a le reîmprospăta separat
- Parsează codul, atâta timp cât un script rescrie hărțile .map bazate pe criterii parametrizabile
- Derulare înapoi dinamică fără a necesita reîmprospătarea, ca și cum ar fi fost un strat flash
- Editare vectorială online, scriere imediată în memoria cache
- Descărcați stratul în formă vectorială
- Exportați în Google Earth
- Generați PDF din implementare
Într-o urmă vom arunca o privire asupra CartoWeb, aici lăsăm legătura cu exemplele principale.
Există un mod de a obține șablonul standard de tip phtml, datorită
Buna,
Încerc să denumesc un strat din .map, după cum urmează:
STRATULUI
NAME test_houses
TIP PUNCT
CONNECTIONTYPE OGR
CONEXIUNEA #”virtual.ovf”
Matei 22:21
xxxxx
EXEC…….
eess_id
wkbPoint
WGS84
Matei 22:21
Problema mea este că serviciul DSN provoacă probleme: la solicitarea unui GetCapabilities returnează parola bazei de date... pot face un apel la un fișier pentru a evita „darea” parolei sau este o eroare DSN???? Mulțumiri!
MapServer este un popular proiect Open Source al cărui scop este să afișeze hărți spațiale dinamice pe Internet. Un drive montat este o unitate care este mapată într-un dosar gol de pe un volum care utilizează sistemul de fișiere NTFS. Unitățile montate funcționează ca orice alte unități, dar li se atribuie căi de unitate în loc de litere de unitate.