Як працює 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
Комбінація публікації Mapser - це те, що піднімає Apache, який надсилає php через mapscript і це потім виходить із цієї оболонки. Але більша частина науки знаходиться у файлах .map, щоб їх не плутати з тими, що генеруються Mapinfo, Manifold або Mobile Mapper Office з однаковим розширенням.
Це .map - це текстові файли, які містять карту у вигляді сценарію. Їх можна створити за допомогою настільних програм, таких як Quantum GIS, якщо ви помітили, що є одна для основної карти, одна для Keymap та дві для служб wms та wfs OGC. Давайте подивимося, як працює Mapscript:
MAP
NAME PALENQUE_DEMO
СТАТУС НА
SIZE 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 - це координати відображення. Символ # використовується для створення анотацій
- Єдині одиниці
- ШАПЕПТ, шлях, де є шари
- Все в кінці закінчується командою END
Всередині код починається з командного рядка і закінчується END, наприклад, для мінімальної та максимальної шкали; Довідник тимчасових зображень:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END
Шкала масштабу:
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
COLOR 0 0 0
РОЗМІР МАЛИ
END
SIZE 300 5
COLOR 255 255 255
ПОПЕРЕДНІЙ КОЛОР 0 0 0
OUTLINECOLOR 0 0 0
Єдині кілометри
ІНТЕРВАЛ 3
СТАТУС НА
END
Растровий шар: він перебуває у фоновому режимі, з описом у списку як "Ортофото", з tiff, розташованого в папці даних:
СЛОЙ
Orthophoto імені користувача NAME
METADATA
"ОПИС" "OrtoFoto"
END
TYPE RASTER
STATUS OFF
Дані "C: OSGeo4W / apps / gis / data / ortofotoGral.tif"
# OFFSITE 0 0 0
END
Шар к.с полігон tematizada на основі критеріїв, піднімаючи деякі дані про шаблон HTML зі шрифтом етикетки SANS, розмір 6, чорні і білі краю буфера 5 ...
СЛОЙ
NAME сектор02Zone
ТИП ПОЛІГОН
STATUS OFF
ПРОЗОРІСТЬ 50
МЕТАДАТИ 607852 1935706 610804 1938807
"ОПИС" "Тема за сектором значень 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred пропорційний периметр області"
END
DATA PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANCE 5
#TOLERANCEUNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
НАСТУПНИЙ ЛАЙТ
КЛАС
SYMBOL 1
COLOR 128 128 128
OUTLINECOLOR 0 0 0
NAME "ZoneNULL"
EXPRESSION ([VALUE] = 0)
LABEL
ANGLE AUTO
COLOR 0 0 0
FONT без
ТИП ТРЕТИТЕП
ПОЗИЦІЯ cc
ЧАСТИНИ НЕБЕЗПЕКА
BUFFER 5
РОЗМІР 6
OUTLINECOLOR 200 200 200
END
END #class 0 значення
КЛАС
SYMBOL 3
COLOR 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
.... і так закрити
END
END # Значення класу
END # Layer
Завершити
Отже, робота з mapserver, хоч і досить проста, стає складною і дуже обмеженою для великих робочих місць, оскільки все знаходиться в .map. Найбільшим недоліком є те, що все робиться пішки, наприклад, визначення кожного кольору в темі, і з цієї причини виникають такі інструменти, як CartoWeb, який працює на Mapserver, але пропонує вбудовані плагіни та приклади з характеристиками, які роблять цю примітивну версію схожою читай спочатку:
- Працюйте окремі рамки з AJAX, щоб оновити їх окремо
- Проаналізуйте код, поки скрипт перезаписує .map на основі параметризуемых критеріїв
- Динамічний перехід назад без необхідності оновлення, як якби це був спалаховий шар
- Онлайн редагування в режимі он-лайн, негайний запис кеша
- Завантажте шар у векторній формі
- Експортувати в Google Планета Земля
- Створення PDF-файлу з розгортання
У наступному ми подивимося CartoWeb, тут я залишаю посилання на головні приклади.
Існує спосіб отримати стандартний вихідний шаблон phtml, спасибі
Привіт
Я намагаюся викликати шар із .map наступним чином:
СЛОЙ
NAME test_houses
TYPE POINT
CONNECTIONTYPE OGR
ПІДКЛЮЧЕННЯ #”virtual.ovf”
"
ххххх
ВИКОНАННЯ …….
eess_id
wkbPoint
WGS84
"
Моя проблема полягає в тому, що служба DSN викликає проблеми: під час запиту GetCapabilities вона повертає пароль бази даних... чи можу я здійснити виклик до файлу, щоб уникнути "роздачі" пароля, чи це помилка DSN???? Дякую!
MapServer - це популярний проект Open Source, метою якого є відображення динамічних просторових карт через Інтернет. Змонтований привід - це диск, який зв'язаний з порожньою папкою на гучномовці, що використовує файлову систему NTFS. Приєднані диски працюють як будь-які інші диски, але їм призначаються шляхи замість дисків.