Qanday Mapserver ishlaydi
Avvalgi vaqtlarda nima uchun ba'zi bir mezonlarga e'tibor qaratdik MapServer va o'rnatish asoslari. Keling, uning ba'zi ishlarini Chiapas do'stlari xaritalari bilan mashqda ko'rib chiqamiz.
Qaerda o'rnatilgan
Apache o'rnatilgandan so'ng, standart MapServer nashriyot katalogi OSGeo4W jildini to'g'ridan-to'g'ri C: /
Ichkarida, o'rnatilgan narsaga qarab, ilovalar bilan turli xil papkalar mavjud, ammo nashr uchun papka apache ichiga kirishi kerak. Bu holda gis deb nomlangan papka.
- Keyin esa, ma'lumotlar jildida qatlamlar, ortofoto va boshqalar mavjud.
- Va boshqalar papkasida .ttf kengaytmasi bilan yorliqlar uchun ishlatiladigan haqiqiy shriftlar mavjud. Shuningdek, ularni ko'taradigan txt fayli va ikkinchisi ramzlarni belgilaydi.
- Va nihoyat papka httdocs xizmatni ko'taradigan veb-sahifalarga o'ting.
Veb-sahifa
Misolda men oxirgi marta ko'rsatilgan ishdan foydalanaman. Bu asosan phtml kengaytmasiga yo'naltiradigan indeks faylini o'z ichiga oladi va bu o'z navbatida php va xaritalar ustiga o'rnatilgan funktsiyalarni oshiradi. Jildda sahifadan bog'langan rasmlar mavjud.
Agar qarasak, phtml shunchaki jadvallardan qurilgan qobiq bo'lib, mapscript / php funktsiyalariga qo'ng'iroq qiladi. Siz quyidagilar yordamida turishingiz kerak:
http://localhost/gis/gispalenque.phtml
Quyidagi natijalar:
- markazga funksiya GMapDrawMap (),
- o'ng tomonga qo'ng'iroq qiling klaviatura xaritasi GMapDrawKeyMap (),
- pastdagi o'lchov paneli GMapDrawScaleBar (),
- va tarqatish funktsiyalari bo'lsa, ro'yxat qutisiga nisbatan shart if (! IsHtmlMode ()) echo " qarorlari bilan: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Siz allaqachon ishlaysiz, tarqatish shu tarzda ko'rinadi:
.map fayllari
Mapserver nashrining kombinatsiyasi Apache nima uchun ko'tarilsa, bu php orqali yuboriladi xaritalar va keyin bu qobiq orqali chiqadi. Ammo ilm-fanning aksariyati .map fayllarida joylashgan bo'lib, ularni Mapinfo, Manifold yoki Mobile Mapper Office tomonidan bir xil kengaytmali fayllar bilan aralashtirib bo'lmaydi.
Ushbu .map matnli fayllar bo'lib, ular xaritani skript shaklida o'z ichiga oladi. Ular kvant GIS kabi ish stoli dasturlari bilan yaratilishi mumkin, agar siz asosiy xarita uchun bitta, Keymap uchun bitta va OGC wms va wfs xizmatlari uchun bitta mavjudligini sezsangiz. Keling, mapscript qanday ishlashini ko'rib chiqaylik:
Xaritalar
NAME PALENQUE_DEMO
STATUS ON
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 # PALENQUE XARAJATLARINING RO'YXATI #LISTI
605786 1935102 608000 1938800 #SOLO 01 SEKTORI
UNITS METERS
SHAPEPATH "../data"
Shaffof O'N
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP start skriptini bildiradi
- STATUS, ko'rsatuv xarita yoniq yoki yo'qligini bildiradi
- SIZE displeyning o'lchami
- SYMBOLSET belgilar yo'lini ko'rsatadi
- EXTENT - displey koordinatalari. # Belgisi izohlash uchun ishlatiladi
- Birlik uchun UNITS
- SHAPEPATH, qatlamlar joylashgan yo'l
- Oxirida hamma narsa END buyrug'i bilan tugaydi
Ichida kod buyruq satridan boshlanadi va END bilan tugaydi, masalan, minimal va maksimal o'lchov uchun; vaqtinchalik suratlar katalogi:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
OXIRI
Vazifali satr:
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
COLOR 0 0 0
SIZE SMALL
OXIRI
SIZE 300 5
COLOR 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS kilometr
INTERVALS 3
STATUS ON
OXIRI
Rastr qatlami: ma'lumotlar papkasida joylashgan tiffdan "Orthophoto" deb ro'yxatdagi tavsif bilan fonda ketadigan:
LAYER
NAME ortophoto
METADATA
"TASVIRI" "OrtoFoto"
OXIRI
TYPE RASTER
STATUS OFF
DATA "C: \ OSGeo4W / ilovalar / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
OXIRI
teg imkoniyat harflarning bilan HTML andoza bo'yicha ba'zi ma'lumotlarni ko'tarib mezonlar asosida qatlam Shp ko'pburchak tematizada, hajmi 6, qora va oq tomonlarining 5 bufer ...
LAYER
NAME tarmog'i02Zone
TYPE POLYGON
STATUS OFF
Transparency 50
EXTENT 607852 1935706 610804 1938807 METADATA
"TA'RIF" "Qiymat sektori mavzusi 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred plyus maydondagi PERIMETALI VALUE"
OXIRI
Ma'lumotlar PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANCE 5
#TOLERANCEUNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE ON
SINIF
SYMBOL 1
COLOR 128 128 128
OUTLINECOLOR 0 0 0
NAME "ZoneNULL"
EXPRESSION ([VALUE] = 0)
LABEL
ANGLE AUTO
COLOR 0 0 0
FONT sans
TYPE TRUETYPE
POSITION ts
XALQARO FALSE
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
OXIRI
END #klass 0 qiymati
SINIF
SYMBOL 3
COLOR 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
.... va shuning uchun u bilan yopilishi kerak
OXIRI
END #Klass qiymat
END # Layer
Xulosa qilish
Demak, mapserver bilan ishlash juda sodda bo'lsa ham, katta ish uchun murakkab va juda cheklangan bo'ladi, chunki hamma narsa .map-da. Eng katta ahvolga tushgan narsa shundaki, har bir narsa temada har bir rangni belgilash kabi piyoda amalga oshiriladi va shuning uchun Mapserver-da ishlaydigan, ammo o'rnatilgan plaginlarni va ushbu ibtidoiy versiyani o'xshash xususiyatlarga ega bo'lgan misollarni keltiradigan CartoWeb kabi vositalar paydo bo'ladi. The birinchi o'qish:
- AJAX bilan alohida-alohida yangilash uchun alohida kvadratlarni ishlang
- Agar buyruq fayli parametrlanadigan mezonlarga asoslanib, .mapni qayta yozganda, kodni ajrating
- Yangilashni talab qilmaydigan dinamik orqaga aylantirish, xuddi flesh qavat edi
- Onlayn vektorni tahrirlash, darhol keshni yozish
- Qatlamni vektor shaklida yuklab oling
- Google Earth xizmatiga eksport qiling
- Filialdan PDF-ni yarating
Keyinchalik CartoWebga qaraymiz, men bu erda asosiy misollarga aloqani qoldiraman.
Standart phtml shablonini chiqadigan yo'l bor, rahmat
Salom,
.mapdan qatlamni quyidagi kabi chaqirishga harakat qilaman:
LAYER
NAME test_houses
TYPE POINT
Ulanish usuli
ULANISH #"virtual.ovf"
"
xxxxx
EXEC…….
eess_id
wkbPoint
WGS84
"
Mening muammom shundaki, DSN xizmati muammolarni keltirib chiqarmoqda: GetCapabilities so'rovida u ma'lumotlar bazasi parolini qaytarmoqda... parolni "bermaslik" uchun faylga qo'ng'iroq qilishim mumkinmi yoki bu DSN xatosimi???? rahmat!
MapServer - ommaviy ochiq kodli ommabop loyihadir, uning maqsadi internet orqali dinamik mekansal xaritalarni ko'rsatishdir. O'rnatilgan haydovchi NTFS fayl tizimidan foydalanadigan tovushdagi bo'sh papka bilan bog'langan haydovchi. O'rnatilgan drayvlar boshqa drayvlar kabi ishlaydi, lekin haydovchi harflari o'rniga haydovchi yo'llari tayinlanadi.