Jak działa Mapserver
Ostatni raz rozmawialiśmy o tym, dlaczego pewne kryteria MapServer oraz podstawy instalacji. Teraz zobaczmy część jego działania w ćwiczeniu z mapami cuates Chiapas.
Gdzie jest zamontowany
Po zainstalowaniu Apache domyślnym katalogiem publikowania MapServer jest folder OSGeo4W bezpośrednio nad C: /
Wewnątrz znajdują się różne foldery z aplikacjami w zależności od tego, co jest zainstalowane, ale folder do publikacji musi znajdować się w apache. W tym przypadku folder o nazwie gis.
- Następnie wewnątrz folderu danych zawiera warstwy, ortofoto, itp.
- W folderze etc znajdują się czcionki True Type używane na etykietach z rozszerzeniem .ttf. Tutaj jest również plik txt, który je podnosi i inny, który definiuje symbole.
- I wreszcie w folderze httdocs idą strony internetowe, które podnoszą serwis.
Strona internetowa
W tym przykładzie użyję przypadku pokazanego ostatnio. Zasadniczo zawiera plik indeksu, który przekierowuje do rozszerzenia phtml, a to z kolei podnosi funkcje zbudowane na podstawie php i map. Folder zawiera obrazy połączone ze strony.
Jeśli spojrzymy na to, phtml jest po prostu powłoką zbudowaną z tabel i wywołań funkcji mapscript / php. Powinieneś wstać używając:
http://localhost/gis/gispalenque.phtml
Poniżej znajduje się wynik:
- w centrum funkcji GMapDrawMap (),
- po prawej wezwanie keymap GMapDrawKeyMap (),
- pasek skali poniżej GMapDrawScaleBar (),
- aw przypadku funkcji rozmieszczania, warunek dotyczący listbox if (! IsHtmlMode ()) echo " z decyzjami: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Już działa, wdrożenie wygląda tak:
Pliki .map
Połączenie publikacji Mapservera odbywa się w tym, co Apache podnosi, co wysyła php mapogram i to następnie wychodzi z tej powłoki. Ale większość nauki znajduje się w plikach .map, nie należy ich mylić z plikami wygenerowanymi przez Mapinfo, Manifold lub Mobile Mapper Office z tym samym rozszerzeniem.
Te .mapy to pliki tekstowe, które zawierają mapę w formie skryptu. Można je tworzyć za pomocą programów komputerowych, takich jak Quantum GIS, jeśli zauważysz, że jest jeden dla mapy głównej, jeden dla mapy klawiszy i dwa dla usług OGC wms i wfs. Zobaczmy, jak działa mapscript:
MAP
NAME PALENQUE_DEMO
STATUS ON
ROZMIAR 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 #LISTA WSZYSTKIEGO MAPY PALENCU
#EXTENT 605786 1935102 608000 1938800 #SOLO SEKTOR 01
JEDNOSTKI METRÓW
SHAPEPATH „../data”
PRZEJRZYSTOŚĆ
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP oznacza skrypt startowy
- STATUS, wskazuje, czy mapa domyślna jest włączona czy nie
- Rozmiar jest wielkością wyświetlacza
- SYMBOLSET pokazuje ścieżkę symboli
- EXTENT to współrzędne wyświetlania. Symbol # służy do tworzenia adnotacji
- Jednostki dla jednostek
- SHAPEPATH, ścieżka, w której znajdują się warstwy
- Wszystko na końcu kończy się poleceniem END
Wewnątrz kodu zaczyna się wiersz polecenia i kończy się END, na przykład dla minimalnej i maksymalnej skali; katalog tymczasowych obrazów:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
KONIEC
Pasek skali:
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
KOLOR 0 0 0
ROZMIAR MAŁY
KONIEC
ROZMIAR 300 5
KOLOR 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
JEDNOSTKI kilometrów
INTERVALS 3
STATUS ON
KONIEC
Warstwa rastrowa: umieszczana w tle, z opisem na liście jako „Ortofotomapa”, z tiffa znajdującego się w folderze danych:
WARSTWA
NAZWA ortofotomapa
METADATA
„OPIS” „OrtoFoto”
KONIEC
TYP RASTER
STATUS WYŁ
DANE „C: \ OSGeo4W / apps / gis / data / orthophotoGral.tif”
#OFFSITE 0 0 0
KONIEC
Warstwa SHP wielokąt tematizada w oparciu o kryteria, podnosząc jakieś dane na szablonie HTML z czcionką sans etykiet, rozmiar 6, czarne i białe brzegi bufor 5 ...
WARSTWA
NAME sector02Zone
TYP POLYGON
STATUS WYŁ
PRZEJRZYSTOŚĆ 50
EXTENT 607852 1935706 610804 1938807 METADATA
„DESCRIPTION” „Temat według sektora wartości 02”
„RESULT_FIELDS” „MsLink Cve_Mz Cve_Pred prop Obwód powierzchni WARTOŚĆ”
KONIEC
DATA PALENQUE_SECTOR01
SZABLON „ttt_query.html”
TOLERANCE 5
#TOLERANCEUNITS PIXELS
LABELITEM „WARTOŚĆ”
KLASYFIKACJA „WARTOŚĆ”
LABELCACHE ON
KLASA
SYMBOL 1
KOLOR 128 128 128
OUTLINECOLOR 0 0 0
NAZWA „ZonaNULL”
EXPRESSION ([VALUE] = 0)
LABEL
ANGLE AUTO
KOLOR 0 0 0
FONT sans
TYP TRUETYPE
POZYCJA cc
CZĘŚCI FALSE
BUFFER 5
ROZMIAR 6
OUTLINECOLOR 200 200 200
KONIEC
END # class 0 value
KLASA
SYMBOL 3
KOLOR 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
.... i tak blisko
KONIEC
END # Class Wartość
END # Layer
Podsumowując
Dlatego praca z mapserver, chociaż jest dość prosta, staje się złożona i bardzo ograniczona w przypadku dużych zadań, ponieważ wszystko znajduje się w .map. Największą wadą jest to, że wszystko odbywa się pieszo, na przykład definiowanie każdego koloru w temacie, iz tego powodu powstają narzędzia takie jak CartoWeb, który działa na Mapserver, ale zawiera wbudowane wtyczki i przykłady z cechami, które sprawiają, że ta prymitywna wersja wygląda jak the najpierw przeczytaj:
- Pracuj oddzielnie, z AJAX w celu odświeżenia ich osobno
- Przeanalizuj kod, dopóki skrypt przepisze mapę .map na podstawie kryteriów parametrycznych
- Dynamiczne przewijanie wstecz bez potrzeby odświeżania, tak jakby była warstwa błysku
- Edycja online w internecie, natychmiastowy zapis pamięci podręcznej
- Pobierz warstwę w formie wektorowe
- Eksportuj do Google Earth
- Wygeneruj PDF z rozmieszczenia
W następnym przyjrzymy się CartoWeb, tutaj zostawiam link do głównych przykładów.
Istnieje sposób, aby mieć standardowe szablony phtml, dzięki
Cześć,
Próbuję wywołać warstwę z mapy .map w następujący sposób:
WARSTWA
NAME test_houses
PUNKT TYPU
CONNECTIONTYPE OGR
POŁĄCZENIE #”virtual.ovf”
"
xxxxx
WYKONAWCA …….
eess_id
wkbPoint
WGS84
"
Mój problem polega na tym, że usługa DSN powoduje problemy: podczas żądania GetCapabilities zwraca hasło do bazy danych... czy mogę zadzwonić do pliku, aby uniknąć „oddania” hasła, czy jest to błąd DSN? Dziękuję!
MapServer jest popularnym projektem Open Source, którego celem jest wyświetlanie dynamicznych map przestrzennych przez Internet. Zamontowany dysk to dysk, który jest mapowany do pustego folderu na woluminie, który korzysta z systemu plików NTFS. Zamontowane napędy działają jak wszystkie inne dyski, ale zamiast liter dysków są przypisywane ścieżki dysku.