Как функционира Mapserver
В предишния момент говорихме за някои критерии защо MapServer и основите на инсталацията. Сега нека видим някои от действията му в упражнение с картите на приятелите от Чиапас.
Къде се монтира
След като Apache е инсталиран, директорията за публикуване по подразбиране на MapServer е папката OSGeo4W директно над C: /
Вътре има различни папки с приложения в зависимост от това какво е инсталирано, но папката за публикуване трябва да влиза вътре в apache. В този случай папката, наречена gis.
- След това вътре в папката с данни се съдържат слоевете, ортофото и т.н.
- В папката etc има истински шрифтове от типа, използвани за етикетите, с разширение .ttf. Също така тук е txt файл, който ги повдига и друг, който дефинира символи.
- И накрая в папката httdocs отидете на уеб страници, които повишават услугата.
Уеб страницата
В примера ще използвам случая, показан последния път. Той основно съдържа индексен файл, който пренасочва към такъв с разширение phtml и това от своя страна повишава функциите, изградени върху php и картите. Папка съдържа изображенията, свързани към страницата.
Ако го разгледаме, phtml е само обвивката, изградена от таблици и извиква функциите mapscript / php. Трябва да станете, като използвате:
http://localhost/gis/gispalenque.phtml
По-долу е даден резултат:
- към центъра на функцията GMapDrawMap (),
- отдясно обаждането ключова карта GMapDrawKeyMap (),
- скалата за скалата по-долу GMapDrawScaleBar (),
- а в случая на функциите за разполагане, условие по отношение на списъка if (! IsHtmlMode ()) echo " с решения: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Вече се изпълнява, разгръщането изглежда така:
Файловете .map
Комбинацията от публикацията на Mapserver е в това, което Apache повдига, което изпраща през php mapscript и това след това излиза през тази обвивка. Но по-голямата част от науката е във .map файловете, за да не се бърка с тези, генерирани от Mapinfo, Manifold или Mobile Mapper Office със същото разширение.
Тези .map са текстови файлове, които съдържат картата в скриптова форма. Те могат да бъдат създадени с настолни програми като Quantum GIS, ако забележите, че има една за основната карта, една за Keymap и две за OGC wms и wfs услугите. Нека да видим как работи Mapscript:
КАРТА
NAME PALENQUE_DEMO
STATUS ON
Размер 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 #Списък на цялата карта на Паленке
#EXTENT 605786 1935102 608000 1938800 #SOLO СЕКТОР 01
ЕДИНИЦИ МЕТРА
SHAPEPATH "../data"
ТРАНСПОРТЕН ВКЛ
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP показва начален скрипт
- STATUS, показва дали картата по подразбиране е включена или не
- SIZE е размерът на дисплея
- SYMBOLSET показва пътя на символите
- EXTENT са координатите на дисплея. Символът # се използва за създаване на пояснения
- ЕДИНИЦИ за единици
- SHAPEPATH, пътят, където са слоевете
- Всичко в края ще завърши с командата END
Вътре, кодът започва с командния ред и завършва с END, например за минимална и максимална скала; директория на временни изображения:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
КРАЙ
Скалата за скала:
Scalebar
IMAGECOLOR 255 255 255
ЕТИКЕТ
ЦВЯТ 0 0 0
РАЗМЕР МАЛКИ
КРАЙ
Размер 300 5
ЦВЯТ 255 255 255
КОНФИГУРИРАНЕ 0 0 0
OUTLINECOLOR 0 0 0
UNITS километри
Интервал 3
STATUS ON
КРАЙ
Растерен слой: отива във фонов режим, с описание в списъка като "Orthophoto", от тиф, намиращ се в папката с данни:
LAYER
NAME orthophoto
METADATA
"ОПИСАНИЕ" "OrtoFoto"
КРАЙ
Тип RASTER
STATUS OFF
ДАННИ "C: \ OSGeo4W / apps / gis / data / orthophotoGral.tif"
#OFFSITE 0 0 0
КРАЙ
Един слой SHP полигон tematizada въз основа на критериите, повишаване на някои данни на HTML шаблон с шрифт без етикет, размер 6, черни и бели ръбове буфер 5 ...
LAYER
NAME sector02Zone
ТИП ПОЛИГОН
STATUS OFF
ПРОЗРАЧНОСТ 50
ОБХВАТ 607852 1935706 610804 1938807 МЕТОДАТИ
„ОПИСАНИЕ“ „Тема по стойностен сектор 02“
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred опорен периметър на зона VALUE"
КРАЙ
ДАННИ PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANCE 5
# TOLERANCEUNITS PIXELS
ЛАБЕЛИТЕМА "VALUE"
КЛАСИТЕМ "VALUE"
LABELCACHE ON
КЛАС
SYMBOL 1
ЦВЯТ 128 128 128
OUTLINECOLOR 0 0 0
ИМЕ „ZonaNULL“
ИЗРАЗЯВАНЕ ([VALUE] = 0)
ЕТИКЕТ
ANGLE AUTO
ЦВЯТ 0 0 0
FONT sans
ТИП TRUETYPE
ПОЗИЦИЯ cc
ЧАСТИ НЯМА
BUFFER 5
РАЗМЕР 6
OUTLINECOLOR 200 200 200
КРАЙ
END #class 0 стойност
КЛАС
SYMBOL 3
ЦВЯТ 255 128 128
#COLOR -1 -1 -1 #SIN ПОПЪЛВАНЕ
.... и така да се затвори
КРАЙ
END #Class Value
END # слой
Заключително
Следователно, работата с mapserver, макар и съвсем проста, става сложна и много ограничена за големи работни места, защото всичко е в .map. Най-големият недостатък е, че всичко се прави пеша, като например дефиниране на всеки цвят в дадена тема и поради тази причина възникват инструменти като CartoWeb, който работи на Mapserver, но носи вградени плъгини и примери с характеристики, които правят тази примитивна версия да изглежда като на вижте първо:
- Работете отделни кадри с AJAX, за да ги опресните отделно
- Разгледайте кода, стига скриптът да пренапише .map въз основа на параметрируеми критерии
- Динамично превъртане назад, без да се изисква опресняване, сякаш е флаш слой
- Онлайн редактиране на вектори, незабавно писане на кеш
- Изтеглете слой във векторна форма
- Експортиране в Google Земя
- Генериране на PDF от разгръщането
В следващия ще погледнем CartoWeb, тук оставям линка към основните примери.
Има начин да се получи стандартният шаблон phtml, благодарение
Здравейте,
Опитвам се да се обадя на слой от .map, както следва:
LAYER
NAME test_houses
ТИП ТОЧКА
CONNECTIONTYPE OGR
ВРЪЗКА #”virtual.ovf”
"
ххххх
EXEC ......
eess_id
wkbPoint
WGS84
"
Проблемът ми е, че услугата DSN създава проблеми: когато иска GetCapabilities, тя връща паролата на базата данни... мога ли да извикам файл, за да избегна "раздаване" на паролата или е грешка в DSN???? Благодаря!
MapServer е популярен проект с отворен код, чиято цел е да показва динамични пространствени карти чрез интернет. Монтираното устройство е устройство, което е присвоено към празна папка на том, който използва файловата система NTFS. Монтираните устройства функционират като всички останали устройства, но вместо буквите на устройствата им се възлагат пътища на устройство.