Як працуе Mapserver
У мінулы раз мы гаварылі пра некаторыя крытэрыі чаму картсервер і асновы ўстаноўкі. Зараз давайце паглядзім некаторыя з яго дзеянняў у практыкаванні з картамі сяброў з Ч'япаса.
дзе ён усталяваны
Пасля ўстаноўкі Apache стандартным каталогам публікацыі MapServer з'яўляецца папка OSGeo4W непасрэдна над C:/
Унутры ёсць розныя папкі з праграмамі ў залежнасці ад таго, што ўсталявана, але папка для публікацыі павінна знаходзіцца ў apache. У гэтым выпадку папка пад назвай gis.
- Затым у тэчцы даных утрымліваюцца пласты, артафатаграфія і г.д.
- У папцы etc ёсць сапраўдныя шрыфты, якія выкарыстоўваюцца для цэтлікаў, з пашырэннем .ttf. Таксама тут ёсць файл txt, які стварае іх, і іншы, які вызначае сімвалы.
- І, нарэшце, у тэчцы httdocs знаходзяцца вэб-старонкі, якія запускаюць службу.
вэб-сайт
У прыкладзе я буду выкарыстоўваць выпадак, паказаны ў папярэдні раз. У асноўным ён утрымлівае індэксны файл, які перанакіроўвае на файл з пашырэннем phtml, а гэта, у сваю чаргу, павышае функцыі, пабудаваныя на php і картах. Папка змяшчае выявы, на якія спасылаюцца старонкі.
Калі вы паглядзіце на гэта, phtml - гэта проста абалонка, пабудаваная з табліц, і выклікае функцыі mapscript/php. Яго трэба падняць з дапамогай:
http://localhost/gis/gispalenque.phtml
Ніжэй працоўны вынік:
- у цэнтр функцыі GMapDrawMap(),
- справа званок да раскладка клавіш GMapDrawKeyMap(),
- шкала ўніз GMapDrawScaleBar(),
- і ў выпадку функцый адлюстравання, умова адносна спісу калі (!IsHtmlMode()) рэха " з рашэннямі: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Ужо запушчаны, дысплей выглядае так:
Файлы .map
Камбінацыя паведамлення Mapserver знаходзіцца ў тым, што ствараецца Apache, якое адпраўляецца яму праз php праз mapscript а потым выходзіць з гэтай абалонкі. Але большая частка навукі знаходзіцца ў файлах .map, якія не варта блытаць з файламі, створанымі Mapinfo, Manifold або Mobile Mapper Office з такім жа пашырэннем.
Гэтыя .map - гэта тэкставыя файлы, якія змяшчаюць карту ў выглядзе сцэнарыя. Іх можна ствараць з дапамогай настольных праграм, такіх як Quantum GIS, калі ўстаноўлена, адна для галоўнай карты, адна для раскладкі клавіш і дзве для службаў OGC wms і wfs. Давайце паглядзім, як працуе mapscript:
КАРТА
НАЗВА PALENQUE_DEMO
СТАТУС УКЛ
ПАМЕР 600 450
SYMBOLSET ../etc/symbols.txt
ЭКСТЭНТ 604299 1933386 610503 1939300 #ПРАГЛЯД УСЁЙ КАРТЫ ПАЛЕНКЕ
#EXTENT 605786 1935102 608000 1938800 # ТОЛЬКІ СЕКТАРЫ 01
АДЗІНКІ МЕТРАЎ
SHAPEPATH "../дадзеныя"
ПРАЗРЫСТЫ НА
IMAGECOLOR 255 255 255
НАБОР ШРЫФТОВ ../etc/fonts.txt
- MAP паказвае, што ён запускае сцэнар
- СТАТУС, паказвае, уключана ці не карта па змаўчанні
- SIZE - гэта памер дысплея
- SYMBOLSET паказвае шлях сімвалаў
- EXTENT - гэта каардынаты адлюстравання. Сімвал # выкарыстоўваецца для анатацый.
- АДЗІНКІ для адзінак
- SHAPEPATH, шлях, дзе слаі
- У рэшце рэшт усё скончыцца камандай END
Унутры код пачынаецца з каманднага радка і заканчваецца END, напрыклад, для мінімальнага і максімальнага маштабу; каталог часовых малюнкаў:
WEB
МІНШЭЙЛ 2000000
МАКСІМАЛЬНЫ МАШТАБ 50000000IMAGEPATH "C:\OSGeo4W/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
Лінія маштабу:
ШКАЛЕБАР
IMAGECOLOR 255 255 255
ПОЛЕ
КОЛЕР 0 0 0
РАЗМЕР МАЛЫ
END
ПАМЕР 300 5
КОЛЕР 255 255 255
ФОНОВЫ КОЛЕР 0 0 0
КОЛЕР КОНТУРУ 0 0 0
UNITS кіламетраў
Інтэрвалы 3
СТАТУС УКЛ
END
Растравы пласт: які ідзе ў фонавым рэжыме, з апісаннем у спісе як "Ортафатаграфія", з TIFF, які знаходзіцца ў тэчцы дадзеных:
Пласт
Артафота NAME
МЕТАДАНЫЯ
"АПІСАННЕ" "АртаФота"
END
РАСТРАВЫ ТЫП
СТАТУС ВЫКЛ
ДАДЗЕНЫЯ "C:\OSGeo4W/apps/gis/data/ortofotoGral.tif"
#ЗА САЙТАМ 0 0 0
END
Слой шматкутнікаў shp, тэматычна заснаваны на крытэрыях, якія ствараюць некаторыя даныя ў шаблоне HTML, з цэтлікам без шрыфта, памерам 6, чорным колерам і белымі рамкамі буфера 5...
Пласт
ІМЯ сектар02Зона
ТЫП МНОГАКУТНІК
СТАТУС ВЫКЛ
ПРАЗРЫСТНАСЦЬ 50
АБ'ЁМ 607852 1935706 610804 1938807 МЕТАДАНЫЯ
"АПІСАННЕ" "Тэматычны па значэнні сектар 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop Плошча Перыметр VALUE"
END
ДАДЗЕНЫЯ PALENQUE_SECTOR01
ШАБЛОН "ttt_query.html"
ТАЛЕРАНТНАСЦЬ 5
#ТОЛЕРАНТНАСЦІ АДЗІнак пікселяў
LABELITEM "VALUE"
ЭЛЕМЕНТ КЛАСА "VALUE"
КЭШ ЭТЫТКАЎ УКЛ
КЛАС
SYMBOL 1
КОЛЕР 128 128 128
КОЛЕР КОНТУРУ 0 0 0
НАЗВА "ZoneNULL"
ВЫРАЗ ([VALUE]=0)
ПОЛЕ
АЎТАМАТЫЧНЫ ВУТ
КОЛЕР 0 0 0
ШРЫФТ sans
ТЫП ПРАЎДНЫ ТЫП
ПАЗІЦЫЯ cc
ЧАСТКІ ІЛІЖНЫЯ
БУФЕР 5
РАЗМЕР 6
КОЛЕР КОНТУРУ 200 200 200
END
END #клас значэнне 0
КЛАС
SYMBOL 3
КОЛЕР 255 128 128
#COLOR -1 -1 -1 #NO FILT
…. і так да закрыцця с
END
END #Class Value
КАНЕЦ#Пласт
У заключэнне
Такім чынам, праца з картсерверам, хоць і даволі простая, становіцца даволі складанай і вельмі абмежаванай для вялікіх заданняў, таму што ўсё знаходзіцца ў .map. Самым вялікім недахопам з'яўляецца тое, што ўсё робіцца пешшу, напрыклад, вызначэнне кожнага колеру ў тэме, і па гэтай прычыне ўзнікаюць такія інструменты, як CartoWeb, які працуе на Mapserver, але пастаўляецца з убудаванымі плагінамі і прыкладамі з асаблівасцямі, дзякуючы якім гэтая прымітыўная версія застаецца як спачатку прачытай мяне:
- Працуйце з асобнымі кадрамі з дапамогай AJAX, каб абнаўляць іх асобна
- Разбор кода, пакуль скрыпт перазапісвае .map на аснове параметруемых крытэрыяў
- Зрабіце зрушэнне дынамічным, не патрабуючы абнаўлення, як калі б гэта быў флэш-пласт
- Інтэрнэт-вектарнае рэдагаванне, неадкладная запіс у кэш
- Спампаваць пласт у вектарным выглядзе
- Экспарт у Google Earth
- Стварыце PDF разгортвання
У наступным мы разгледзім CartoWeb, вось спасылка на асноўныя прыклады.
Ці ёсць спосаб атрымаць стандартны шаблон вываду phtml, дзякуй
Добры дзень,
Я спрабую выклікаць пласт з .map наступным чынам:
Пласт
Тэст дамоў NAME
ТЫП ПУНКТ
ТЫП ПАДКЛЮЧЭННЯ OGR
ПАДКЛЮЧЭННЕ #”virtual.ovf”
"
ххххх
ВЫКАНАННЕ …….
eess_id
wkbPoint
WGS84
"
Мая праблема ў тым, што служба DSN стварае праблемы: калі запытвае GetCapabilities, яна вяртае пароль да базы дадзеных... ці магу я выклікаць файл, каб не "выдаваць" пароль, ці гэта памылка DSN???? Дзякуй!
MapServer - папулярны праект з адкрытым зыходным кодам, мэтай якога з'яўляецца адлюстраванне дынамічных прасторавых карт праз Інтэрнэт. Змантаваны дыск - гэта дыск, які супастаўлены з пустой тэчкай на томе, які выкарыстоўвае файлавую сістэму NTFS. Усталяваныя дыскі функцыянуюць як любыя іншыя дыскі, але ім прысвойваюцца шляхі да дыскаў, а не літары.