ГИС лаборатория започна с MapServer

Всички споменати в текстови файлове (HTML-шаблони, файл-карта, SHP-файлове и т.н.) са налични за изтегляне. За да са работили примери, за да се разбере тази статия, вие трябва да разархивирате например папка в директорията / ms4w / приложения / пример.







Голяма част от работата по създаването на уеб-ресурс се състои именно на писане файл-карта. Разбираемо е, че MapServer вече е инсталиран и работи (за подробности относно инсталирането на MapServer за Windows).

Допълнителни указания за стъпки показват как да използвате готови векторни данни, от прости до сложни, за да създадат своя собствена интерактивна карта и я поставете използване MapServer интернет.

1. Карта на един слой

За да създадете карта, ние се нуждаем най-малко един слой. MapServer поддържа множество формати за векторни и растерни слоеве (в списъка на векторни формати). Интересното е, че сред поддържаните формати са, например, MapInfo файлове, както и че MapServer ви позволява да използвате информацията, съхранявана в базите данни (например MS SQL Server, PostgreSQL, Oracle и др.). Въпреки това достъпът до данните в тези формати се предоставя специален пакет (OGR), "родния формат" за MapServer - SHP. За MS4W OGR пакет (предварително компилирани и конфигуриран) вече е включена в доставката, обаче, тази статия се обсъжда работата само с SHP-файлове. По този начин, за по-нататъшната работа имаме нужда от някои SHP-файлове (от всякакъв), които ще копират в директорията "\ ms4w \ приложения \ например \ SHP". Можете да използвате вече споменатите SHP-файлове.

Ние сега започваме да разбираме формата на файл-карта. Създаване на директория "\ ms4w \ приложения \ например" файл polt.map. Ние дрейф до нещо подобно на следното:

За да видите резултата, тип в прозореца на браузъра:

Ако не използвате на локалната машина вместо Localhost трябва да посочите името на вашия сървър. Трябва да видите следното изображение:

Параметри "слоя" обект:

ИМЕ "име" - името на слоя.

DATA "името на файла" - на името на SHP-файл съвпадение на даден слой.

ТИП [точка | линия | многоъгълник | кръг | анотация | растер | заявка | диаграма] - тип слой. Всичко това е повече или по-малко ясно, въпреки че има своите особености. Значение изрази сочат | Онлайн | полигон очевиден - слоя ще бъде точка, линия или многоъгълник. Все пак, ако имате SHP-файл с полигони, можете да зададете тип линия. Когато слой се показва като линейна тема. Не само може една и съща SHP-файл е разделен на два слоя. резултатът е същият, както по-горе, но по различен начин прави.

Карта-файл, използван в този раздел: polt.map.

2. Употребата на няколко групи,

С файл Poltava10_Vegetation_region.shp свързан атрибут маса като DBF-файл. Сред областите DBF-файл е областта на "CodeTopo", в който се съхраняват кодът на обект. Например, код 71100000 съответства на горската растителност, код 71314000 - тревиста, код 72310000 - блатиста местност. Тъй като обекти с различни кодове трябва да се появяват на картата по различни начини, ние се нуждаем от инструмент, който ви позволява да дефинирате различни символи за същия слой, в зависимост от стойностите на обектите атрибутите (т.е. класификация). За тази цел, в файл-карта е позволено да въведете номер на класове, съответстващи на един слой. Създаване на съдържание на файл polt1.map sledushchego:

Карта-файл, използван в този раздел: polt1.map.

3. Създайте свои собствени символи

Вероятно, не всеки ще го хареса, че блато, се поставя върху запълването на картата, така че обработката на заем: според документацията за всеки клас, можете да използвате собствения си стил на легендата, за това в предложението трябва да се използва параметъра STYLE символ. В допълнение към вградения набор от символи, определен по подразбиране, на MapServer също поддържа връзката на отделни файлове, които съдържат описание на символи (например файл с набор от допълнителни знака).

Сега няколко примера за това, как да създадете своите герои. Ние ще създадем четири нов стил - двамата ще бъдат използвани за точкови обекти, по един за хечбек многоъгълни теми и друго - да се създаде пунктирана линия. Примери за символи са показани в таблицата по-долу.

По-долу са описания, съответстващи на всяка от тези симптоми:

В ТОЧКИ команда определени координати възел (х у). Тя може да бъде малко неочаквано, че Y-оста е насочен надолу, а не нагоре, както обикновено. Координатите на точките са дадени в конвенционалния координатна система. В "триъгълник":

"Крос" символ. Особеността се крие във факта, че на кръста, за разлика от триъгълника не е възможно да се направи един удар на писалката, без да го повдигнете от хартията. Отрицателните координати посочено мястото, в което "се повдига писалка".







"Диагонал на запълване" за полигонални обекти. Можете да използвате прозрачни: 0 - Не прозрачен обект 100 - напълно прозрачен.

"Пунктирана линия." Predolzhenie "Стил 10 5 5 10 END" означава, че линията простира 10 пиксела, 5 пиксела след пролука, тогава линията появява отново (5 пиксела), и отново разликата до 10 пиксела.

Както бе споменато по-горе, описанието на новосъздадените символи удобно съхранява в отделен файл и да го ползвате, ако е необходимо. За да прикачите файл, който съдържа описание на символи, трябва да се добави параметър обект MAP SYMBOLSET "filepath / име на файл". И в клаузата за КЛАС е необходимо да се направи препратка към правилния символ предлагат символа "imya_simvola".

Резултатът от използването само създаде символ, за да покаже класа "Блато" е показан на изображението по-долу:

С MapServer е възможно да се създаде по-сложни знаци.

Карта-файл, използван в този раздел: polt2.map.

4. Създаване на подписи за обекти

За да определите как да се регистрирате обекти, използвайте LABELITEM "FIELD_NAME", в което се посочва името на областта, която съхранява подписите. Предложението на етикета указва набор от параметри, но назначаването на най-важните параметри (цвят, SHADOWCOLOR, размер, вид) е очевидна.

За да маркирате-обект, преди описанието на слоя, което трябва да се добави параметър FONTSET "./fonts/fonts.list". fonts.list файл (файла може да се нарича по различен начин) съхранява информация за шрифтове на разположение MapServer. Пример подаде fonts.list съдържание:

Така параметъра "FONT Arial-курсив", от предложение ЕТИКЕТ отнася до ariali.ttf шрифт. За определения, вижте съдържанието директория шрифтове:

шрифтове arial.ttf ariali.ttf и могат да бъдат взети от стандартна директория на Windows.

Карта-файл, използван в този раздел: polt2.map.

5. Използвайте слоеве растерни

В допълнение към комплекта с векторни данни, MapServer също поддържа използването на растерни слоеве. Подробно описание на растерни viewable.END_BOLD тук. и в този раздел, ще бъде дадено обобщение на основните моменти.

Обикновено MapServer използва GDAL библиотеката за работа с растерни изображения (разбира се, при условие че MapServer е съставен с подкрепата GDAL). Например, такава операция като препроектиране растер "в движение", е възможно само с помощта на тази библиотека.

Сред поддържаните растерни формати имат всички основни видове файлове с изображения: TIFF / GeoTiff (използвана за свързване или световно файл или вградена в GeoTIFF координати.), GIF, PNG, JPEG. Erdas .LAN / .GIS (да се обвърже тези формати, използвани от световна файл).

В най-простия случай, връзката е растерен слой се добавя към слоя предлага файл-карта:

Също така, като конвенционален слой, параметрите на слоя прожекционен на растер, метаданни, обработка, MINSCALE и MAXSCALE могат да бъдат определени. Но растерен слой не може да има етикет (LABEL) и свързване параметри, CONNECTIONTYPE или функция.

Като вектор слой при работа с растерни да разделите един слой (един растер) на няколко класа, които се появяват по различен начин в зависимост от стойностите на цветовете:

При работа с екрани по-големи размери, могат да бъдат проблеми, свързани с бавен дисплей карта. За да се подобри ефективността, можете да изрежете оригиналния растерна графика на няколко по-малки парчета и по този начин се получи "мозайка" модел. След това на дисплея на картата няма да има нужда да се манипулира един единствен голям растер, и ще трябва да се събере необходимата част от картата от отделните парчета. Въпреки това, за тази мозайка MapServer ще продължи да търси само с един слой.

Това се прави по следния начин: създаване на SHP-файл, който съхранява полигони - гранични линии, за които растера се нарязват на парчета. В този случай, атрибутите на всеки полигон съхранява името на файла, който съдържа съответното парче на растера.

Като цяло, работата на създаване на индекс SHP-файл може да се извършва автоматично от gdaltindex програма (част от GDAL пакет). Използвайте параметри:

В този случай, ако wm_index.shp файл не съществува, тя е създадена. Ако -tileindex не е посочен, ще бъде използвана от името на полето по подразбиране - Местоположение (пълен превод на главата за работа растера от описание MapServer).

6. прогнози

За да работите с прогнозите в картата-файл предвидени цял раздел. който се нарича проекция. За да работите с прогнозите трябва да се създаде описание на проекцията на картата като цяло (MAP обект) трябва също така да се уточни описанието на проекционните слоеве, които са различни от първоначално проекцията на проекцията на изхода на картата. ПРОЕКТИРАНЕ съдържа параметрите на прогнозите и трябва да се намира извън описанията на различните слоеве. Предвиждане, ако предложението се намира в едно изречение слой, това означава, че този слой се съхранява на диск в тази проекция.

За да се показва картата в географска координатна система (WGS-84):

За да се показва картата в проекцията на координатна система (UTM, зона 36, WGS84):

Две важни точки: добавянето на предложение PROJECTION MAP-обект не означава, че цялата карта се веднага променила проекция - по подразбиране се счита, че слоя карта се съхраняват в една и съща проекция, която в проекцията е в списъка. Поради това е необходимо да се добави изречение проекция и слоеве на картата (слой в изречението). На второ място, след добавянето на проекция предлага в файл-карта ще трябва да промените параметър СТЕПЕН, така че ъгловите точки на картите бяха представени в новите координати. За да се определят параметрите на програмата може да се използва за преобразуване на PROJ координати от географското да проектира координатна система (\ ms4w \ PROJ \ бин \), или да получите координатите във всеки ГИС: ArcView, MapInfo, и т.н.

Ние получаваме следните резултати:

Карта-файл, използван в този раздел: polt3.map.

7. Създаване на интерактивна карта

Шаблоните се създаде папка и постави файла там template.html sledushchego съдържание:

След това, да създадете файл-карта в друг дял:

Карта-файл, използван в този раздел: polt4.map. Html-шаблон: template.html

8. Инструменти Card увеличение

В предишния пример, когато щракнете с мишката върху картата, на MapServer Премества изображението, така че точката, в която хит бутон, при условие, в центъра на картата. Освен това смени, MapServer могат да изпълняват и други задачи, като например мащаба на картата. За да направите това, трябва да смените шаблона.

Ето и съдържанието на template1.html на файла:

Най-интересното нещо се случва в раздел "ZOOM / PAN CONTROLS": там е пример за това, как да използвате променливата "увеличение". Ако стойността му е 1, на мащаба на картата, като кликнете върху "Refresh" бутон, не се променя, ако променливата увеличение е положителен, мащабът на се увеличава по време на увеличение. Ако мащабиране

Ако откриете грешка в сайта, изберете част от текст и натиснете Ctrl + Enter