Carane Mapserver Works
Wektu sadurunge kita ngobrol babagan sawetara kriten ngapa MapServer lan dhasar instalasi. Saiki ayo ndeleng sawetara operasine ing olahraga karo peta kanca Chiapas.
Endi dipasang
Sawise Apache dipasang, direktori publikasi default kanggo MapServer yaiku folder OSGeo4W langsung ndhuwur C: /
Ing njero, ana macem-macem folder kanthi aplikasi gumantung karo apa sing wis diinstal, nanging folder sing bakal diterbitake kudu ana ing apache. Ngono, folder kasebut diarani gis.
- Banjur ing jero, folder data ngemot lapisan, ortophoto, lan liya-liyane.
- Ing folder dll, ana font jinis sing sejatine digunakake kanggo label, kanthi ekstensi .ttf. Uga ing kene ana file txt sing ngangkat lan liyane sing nemtokake simbol.
- Lan pungkasanipun ing folder httdocs pindhah kaca web sing ngangkat layanan kasebut.
Kaca web
Ing conto, aku bakal nggunakake kasus sing dituduhake pungkasan. Sejatine ngemot file indeks sing pangalihan menyang ekstensi phtml, lan iki bakal nambah fungsi sing dibangun ing ndhuwur php lan peta. Folder ngemot gambar sing disambung saka kaca kasebut.
Yen dideleng, phtml mung cangkang sing digawe saka tabel, lan telpon menyang fungsi mapscript / php. Sampeyan kudu tangi nggunakake:
http://localhost/gis/gispalenque.phtml
Asil dituduhake ing ngisor iki:
- menyang tengah fungsi kasebut GMapDrawMap (),
- ing sisih tengen telpon Keymap GMapDrawKeyMap (),
- garis ukuran ing ngisor iki GMapDrawScaleBar (),
- lan ing kasus fungsi penyebaran, kahanan babagan listbox yen (! IsHtmlMode ()) kumandhang " karo keputusan: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Wis mlaku, tampilan katon kaya iki:
File .map
Kombinasi penerbitan Mapserver yaiku apa Apache ngundakake, sing ngirim php lewat mapscript lan banjur metu liwat cangkang kasebut. Nanging umume ilmu kasebut ana ing file .map, ora bakal bingung karo sing digawe dening Mapinfo, Manifold, utawa Mobile Mapper Office kanthi ekstensi sing padha.
Peta kasebut minangka file teks, sing ngemot peta kanthi wujud skrip. Iki bisa digawe nganggo program desktop kaya Quantum GIS, yen sampeyan ngerti ana siji kanggo peta utama, siji kanggo Keymap lan loro kanggo layanan WG lan wfs OGC. Ayo ndeleng cara kerja mapscript:
MAP
NAME PALENQUE_DEMO
STATUS ON
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 # SUMBER DAYA PALAPA PALENQUE
#EXTENT 605786 1935102 608000 1938800 #SOLO 01 SECTOR
UNITS METERS
SHAPEPATH "../data"
TRANSPARENT ON
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP nuduhake yen script kasebut wiwit
- STATUS, nuduhake yen peta gawan urip utawa ora
- SIZE ukurane tampilan
- SYMBOLSET nuduhake rute simbol
- EXTENT minangka koordinat tampilan. Simbol # digunakake kanggo nggawe anotasi
- UNITS kanggo unit
- SHAPEPATH, rute sing dadi lapisan
- Kabeh ing pungkasan bakal rampung kanthi printah END
Ing jero, kode kasebut diwiwiti kanthi baris perintah, lan ends karo END, contone ukuran minimum lan maksimum; direktori sementara gambar:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END
Bar ukuran:
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
WARNA 0 0 0
SIZE SMALL
END
SIZE 300 5
WARNA 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS kilometer
INTERVALS 3
STATUS ON
END
Lapisan raster: sing ana ing latar mburi, kanthi katrangan ing dhaptar minangka "Orthophoto", saka tiff sing ana ing folder data:
LAYER
NAME orthophoto
METADATA
"KETETRANGAN" "OrtoFoto"
END
TYPE RASTER
STATUS
DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
END
Lapisan shp saka poligon, kanthi tema sing didhasarake kritéria, ningkatake sawetara data ing cithakan html, kanthi label font sans, ukuran 6, werna ireng lan pinggiran putih saka buffer 5 ...
LAYER
NAME sektor02Zone
TYPE POLYGON
STATUS
TRANSPARENCY 50
EXTENT 607852 1935706 610804 1938807 METADATA
"DESCRIPTION" "Tema miturut Sektor Nilai 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop Area Perimeter NILAI"
END
DATA PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANCE 5
#TOLERANCEUNITS PIXELS
LABELITEM "NILAI"
CLASSITEM "NILAI"
LABELCACHE ON
KELAS
SIMBOL 1
WARNA 128 128 128
OUTLINECOLOR 0 0 0
NAMA "ZonaNULL"
EXPRESSION ([VALUE] = 0)
LABEL
ANGLE AUTO
WARNA 0 0 0
FONT SANS
TYPE TRUETYPE
POSITION cc
PARTIALS FALSE
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
END
END #class value 0
KELAS
SIMBOL 3
WARNA 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
... lan nganti nganti nutup
END
END #Class Value
END # Layer
Kanggo nyimpulake
Mula, kerja karo maperver, sanajan cukup sederhana, dadi kompleks lan diwatesi banget kanggo proyek gedhe amarga kabeh ana ing peta. Kerugian paling gedhe yaiku kabeh ditindakake kanthi mlaku, kayata nemtokake saben warna ing tema kasebut, lan amarga piranti kasebut kayata CartoWeb muncul, sing digunakake ing Mapserver nanging nggawa plugin lan conto internal kanthi karakteristik sing nggawe versi primitif iki katon ing readme first:
- Gawe frame sing kapisah, karo AJAX supaya refresh kanthi kapisah
- Atur kode kasebut, nyedhiyakake skrip rewrites .map miturut kriteria parameterizable
- Dynamic return the displacement tanpa perlu refresh, kaya-kaya lapisan flash
- Edisi vektor online, langsung nulis ing cache
- Ngundhuh lapisan ing wangun vektor
- Ekspor menyang Google Earth
- Generate PDF saka panyebaran
Ing sabanjure kita bakal nemokake CartoWeb, kene aku ninggalake link kanggo conto utama.
Ana cara kanggo duwe output template phtml standar, thanks
hello,
Aku nyoba nelpon lapisan saka .map, kaya ing ngisor iki:
LAYER
NAMA testhouses
TYPE POINT
KONTAK OGR
KONEKSI #"virtual.ovf"
"
xxxxx
EXEC…….
eess_id
wkbPoint
WGS84
"
Masalahku yaiku layanan DSN nyebabake masalah: nalika njaluk GetCapabilities ngasilake sandi database ... aku bisa nelpon menyang file supaya ora "menehi" sandi utawa kesalahan DSN ???? Matur nuwun!
MapServer minangka proyek Open Source sing tujuane kanggo nampilake peta spasial dinamis liwat Internet. Drive sing dipasang minangka drive sing dipetakan menyang folder kosong ing volume sing nggunakake sistem file NTFS. Driver sing dipasang ing sajrone drive liyane, nanging diarahake minangka path drive.