Mapserver қалай жұмыс істейді
Алдыңғы уақытта неге кейбір критерийлер туралы айтқанбыз Mapserver және орнату негіздері. Енді оның кейбір жұмысын Чиапас достарының карталарымен жаттығуда көрейік.
Қайда орнатылады
Apache орнатқаннан кейін, MapServer үшін әдепкі жариялау каталогы OSGeo4W қалтасынан C: /
Ішінде, орнатылғанына байланысты қосымшалары бар әр түрлі қалталар бар, бірақ жариялауға арналған қалта apache ішіне кіруі керек. Бұл жағдайда қалта gis деп аталады.
- Содан кейін, деректер қалтасында қабаттар, ортофото және т.б. бар.
- Etc папкасында .ttf кеңейтілімімен жапсырмалар үшін қолданылатын шын түрдегі қаріптер бар. Мұнда оларды көтеретін txt файлы және басқа белгілерді анықтайтын файл бар.
- Ақырында httdocs қапшығында қызметті көтеретін веб-беттерге өтіңіз.
Веб-бет
Мысалда мен соңғы рет көрсетілген жағдайды қолданамын. Онда негізінен phtml кеңейтіміне бағыттайтын индекс файлы бар, және бұл өз кезегінде php мен карталардың үстіне құрылған функцияларды жоғарылатады. Қапшықта парақтан сілтеме жасалған суреттер бар.
Егер біз қарастыратын болсақ, phtml тек кестелерден құралған қабықша болып табылады және mapscript / php функцияларын шақырады. Сіз мыналарды қолдану арқылы тұруыңыз керек:
http://localhost/gis/gispalenque.phtml
Төменде нәтиже:
- функцияға ортаға GMapDrawMap (),
- оң жақта шақыру keyapap GMapDrawKeyMap (),
- төменгі ауқымды жолақ GMapDrawScaleBar (),
- және орналастыру функциялары болған жағдайда, тізім қорына қатысты шарт егер (! IsHtmlMode ()) жаңғырық « шешімімен: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Қазірдің өзінде іске қосылған, орналастыру келесідей:
.map файлдары
Mapserver жарияланымының тіркесімі php-ке жіберетін Apache-нің көтерілгенінде карточка содан кейін сол қабық арқылы шығады. Бірақ ғылымның көп бөлігі .map файлдарында орналасқан, оны Mapinfo, Manifold немесе Mobile Mapper Office бірдей кеңейтіммен жасалған файлдармен шатастыруға болмайды.
Бұл .map - бұл сценарий түрінде картаны қамтитын мәтіндік файлдар. Оларды Quantum GIS сияқты жұмыс үстелдерімен жасауға болады, егер сіз негізгі карта үшін бір, Keymap үшін бір, ал OGC wms және wfs қызметтері үшін екеуі бар екенін байқасаңыз. Mapscript қалай жұмыс істейтінін көрейік:
MAP
NAME PALENQUE_DEMO
STATUS ON
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 # ПАЛЕНКІҢ БАРЛЫҚ КАРТАЛАРЫНЫҢ ЛИСТЫ
#EXTENT 605786 1935102 608000 1938800 #SOLO 01 СЕКТОРЫ
БІРГЕ МЕТР
SHAPEPATH «../data»
TRANSPARENT ON
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP старт сценарийін көрсетеді
- STATUS, әдепкі картаның қосылғанын немесе көрсетілмейтінін көрсетеді
- SIZE - дисплейдің өлшемі
- SYMBOLSET символдар жолын көрсетеді
- EXTENT - дисплей координаттары. # Белгісі аннотация жасау үшін қолданылады
- Бірліктерге арналған UNITS
- SHAPEPATH, қабаттардың жолы
- Соңында барлығы END командасымен аяқталады
Ішінде код командалық жолдан басталады және END сияқты аяқталады, мысалы, ең аз және ең үлкен шкала бойынша; уақытша суреттер каталогы:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH «C: \ OSGeo4W / tmp / ms_tmp /»
IMAGEURL «/ ms_tmp /»
СОҢЫ
Шкаласы:
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
COLOR 0 0 0
SIZE SMALL
СОҢЫ
SIZE 300 5
COLOR 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS шақырым
INTERVALS 3
STATUS ON
СОҢЫ
Растрлық қабат: фонда, тізімде «Ортофото» деп сипатталған, деректер қалтасында орналасқан тиффтен:
LAYER
NAME ортофото
METADATA
«СИПАТТАМАСЫ» «OrtoFoto»
СОҢЫ
TYPE RASTER
STATUS OFF
Деректер «C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif»
# OFFSITE 0 0 0
СОҢЫ
Html үлгісіндегі кейбір деректерді алып тастау, өлшемді шрифт жапсырмасы, өлшемі 6, қара түсті және 5 буферінің ақ шеттері бар полигондардың қабаттағы қабаты, критерийлерге негізделген, ...
LAYER
NAME сектор02Zone
TYPE POLYGON
STATUS OFF
TRANSPARENCY 50
EXTENT 607852 1935706 610804 1938807 METADATA
«СИПАТТАМА» «02-құндылық секторы тақырыбы»
«RESULT_FIELDS» «MsLink Cve_Mz Cve_Pred қолдайтын аумақ периметрі VALUE»
СОҢЫ
DATA PALENQUE_SECTOR01
TEMPLATE «ttt_query.html»
TOLERANCE 5
#TOLERANCEUNITS PIXELS
LABELITEM «VALOR»
CLASSITEM «VALOR»
LABELCACHE ON
КЛАСС
SYMBOL 1
COLOR 128 128 128
OUTLINECOLOR 0 0 0
NAME «ZonaNULL»
ЭКСПРЕССИЯ ([VALUE] = 0)
LABEL
ANGLE AUTO
COLOR 0 0 0
FONT sans
TYPE TRUETYPE
POSITION cc
PARTIALS FALSE
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
СОҢЫ
END # класс 0 мәні
КЛАСС
SYMBOL 3
COLOR 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
.... және т.б.
СОҢЫ
END #Class мәні
END # Layer
Қорытынды жасауға болады
Демек, mapserver-пен жұмыс істеу өте қарапайым болғанымен, үлкен жұмыс орындары үшін күрделі және өте шектеулі болады, өйткені барлығы .map-да орналасқан. Ең үлкен кемшілігі - бәрі жаяу жүреді, мысалы тақырыпта әр түсті анықтау, сондықтан CartoWeb сияқты құралдар пайда болады, олар Mapserver-те жұмыс істейді, бірақ кіріктірілген плагиндер мен сипаттамалары бар мысалдарды келтіреді, бұл алғашқы нұсқаны ұқсас етеді The алдымен оқу:
- AJAX-мен бөлек жаңартуға арналған бөлек жақтауды пайдаланыңыз
- Сценарий параметрді таңдай алатын критерийлерге негізделген .map қайта жазғанда, кодты бөліп алыңыз
- Жаңартуды талап етпей динамикалық артқа айналдыру, егер ол жарқыл қабаты болса
- Онлайн векторлық өңдеу, дереу кэш жазу
- Қабатты векторлық пішінде жүктеңіз
- Google Жеріне экспорттау
- Орналастырудан PDF жасау
Кейін біз CartoWeb-ті қарап шығады, мұнда мен негізгі мысалдарға сілтеме қалдырамын.
Стандартты phtml үлгіні шығару тәсілі бар, рахмет
сәлем,
Мен .map қабатын келесідей шақыруға тырысамын:
LAYER
NAME test_houses
TYPE POINT
КОННЕКЦИЯЛЫҚ ОГР
ҚОСЫЛУ #”virtual.ovf”
«
xxxxx
EXEC…….
eess_id
wkbPoint
WGS84
«
Менің мәселем, DSN қызметі ақауларды тудыруда: GetCapabilities сұрау кезінде ол дерекқор құпия сөзін қайтарады... құпия сөзді «бермеу» үшін файлға қоңырау шала аламын ба немесе бұл DSN қатесі ме???? Рахмет!
MapServer - танымал Open Source жобасы, оның мақсаты - динамикалық кеңістіктік карталарды Интернеттен көрсету. Орнатылған диск жетегі NTFS файлдық жүйесін қолданатын томдағы бос қалтаға салыстырылған диск. Орнатылған дискілер кез-келген басқа диск ретінде жұмыс істейді, бірақ дискілердің орнына дискілер жолдары беріледі.