Geovertical Map Server API 1.2



Podobne dokumenty
Załącznik techniczny przedmiotu zamówienia komponentu

Terytorialna analiza danych

Simple Object Access Protocol

serwisy W*S ERDAS APOLLO 2009

Propozycja standaryzacji usługi lokalizacji adresu

Gatesms.eu Mobilne Rozwiązania dla biznesu

Programowanie urządzeń mobilnych. projekt 6 ( )

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1

Warszawa Plany zagospodarowania przestrzennego

Gdańsk standardowe mapy

KONCEPCJA STANDARYZACJI USŁUGI LOKALIZACJI PRZESTRZENNEJ ADRESÓW

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja REST API v 3.0. Kraków, 7 marca FreshMail, ul. Fabryczna 20a, Kraków tel , freshmail.

Tworzenie i wykorzystanie usług sieciowych

Dokumentacja API Stacja z Paczką ver. 2.14

Programowanie współbieżne i rozproszone

Dokumentacja API Stacja z Paczką ver. 2.09

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu.

1. Wstęp 2. Adres usługi 3. Konfiguracja 4. Metody 5. Typy danych 6. Przykład wywołania metody przy użyciu php i biblioteki nusoap 7.

Specyfikacja HTTP API. Wersja 1.6

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016]

QualitySpy moduł reports

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/4.1.4/2015

Specyfikacja techniczna. mprofi Interfejs API

E-geoportal Podręcznik użytkownika.

Programowanie Komponentowe WebAPI

Obiekty sportowe (mapy rastrowe)

Dokumentacja smsapi wersja 1.4

XML-RPC: Zdalne wykonywanie procedur

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

GEO-SYSTEM Sp. z o.o. ul. Kubickiego 9 lok. 5, Warszawa, tel./fax , geo-system@geo-system.com.

ekopia w Chmurze bezpieczny, zdalny backup danych Instrukcja użytkownika dla klientów systemu mmedica

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2


Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

1. Opis ogólny. 2. Opis techniczny. 3. Wymagania techniczne

76.Struktura oprogramowania rozproszonego.


Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu).

Aktualizacja firmware w urządzeniu za pośrednictwem FTP

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

INSTRUKCJA UŻYTKOWNIKA Generowanie Jednolitego Pliku Kontrolnego (JPK) ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

DOKUMENTACJA INTERFEJSU API - HTTPS

Integracja Obieg Dokumentów - GiS Spis treści

Przykłady zastosowao rozwiązao typu mapserver w Jednostkach Samorządu Terytorialnego

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

Współpraca z platformą Emp@tia. dokumentacja techniczna

Specyfikacja API Runtime BAS 3.0

1 Wprowadzenie do J2EE

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Komunikacja i wymiana danych

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła

Tomasz Greszata - Koszalin

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

INSTRUKCJA KONFIGURACJI USŁUG DOSTĘPOWYCH DO SYSTEMU FIBARO

Obsługa mapy przy użyciu narzędzi nawigacji

IIIIIIIIIIIIIIIMMIMMIII

Architektura systemu e-schola

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

Ministerstwo Finansów

Emapa Transport+ Opis produktu

Współpraca z platformą dokumentacja techniczna

GeoNet Finder. Opis produktu

Instrukcja użytkownika. Aplikacja mysafety Mobile i mysafety e-sticker_wersja WSTĘP... 2

System DiLO. Opis interfejsu dostępowego v. 2.0

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Opis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel"

Dziennik Urzędowy Unii Europejskiej L 274/9

API przekazy masowe - Dokumentacja. v 1.1, czerwiec 2014 KIP S.A. ul. Św. Marcin 73/ Poznań.

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Instrukcja aktualizacji oprogramowania (firmware) serwera DESKTOP 2.0 systemu F&Home RADIO.

Wprowadzenie do projektu QualitySpy

OPIS i SPECYFIKACJA TECHNICZNA

Spis treści. S t r o n a 2

Instrukcja korzystania z usługi 2SMS. Wersja 2.0 [12 stycznia 2014] bramka@gsmservice.pl

Elektroniczna Skrzynka Podawcza

Zawartość specyfikacji:

WSZELKIE PRACA ZASTRZEŻONE PRZEZ NETLAND SP. Z O.O.

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego

KRAJOWA MAPA ZAGROŻEŃ BEZPIECZEŃSTWA INSTRUKCJA OBSŁUGI

Instrukcja aktualizacji oprogramowania (firmware) serwera DIN2 systemu F&Home RADIO.

DPDInfoServices. Specyfikacja biznesowa. Version DPD Polska Sp. z O.O. Warszawa

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Dokumentacja. Wersja: 1.5 Ostatnio zmodyfikowano: Strona 1

Opis modułu pl.id w programie Komornik SQL-VAT

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

TRX API opis funkcji interfejsu

ActiveXperts SMS Messaging Server

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/4.1.4/2016

Informator nawigacyjny dla Górnej Odry i Kanału Gliwickiego INSTRUKCJA OBSŁUGI

Platforma e-learningowa

Transkrypt:

Dokumentacja Techniczna Autor: Data aktualizacji: Marcin Góźdź 2005-06-12 Geovertical ul. Koszalińska 35/6 40-717 Katowice - Poland

SPIS TREŚCI SPIS TREŚCI... 1 WSTĘP... 4 Funkcjonalność... 4 V GeoServer...4 V Reverse GeoServer...4 V MapServer...4 V RouteServer...4 Struktura Dokumentu... 5 Oznaczenia przyjęte w dokumencie... 6 ARCHITEKTURA SYSTEMU... 8 Elementy systemu... 8 Typy instalacji... 9 Instalacja z dostępem przez sieć Internet...9 Instalacja podstawowa (1 serwer)...10 Korzystanie z usług serwisu Geovertical...11 Dostęp do systemu...13 Dostęp poprzez protokół HTTP...13 Dostęp poprzez protokół SOAP...13 Dostęp bezpośredni...14 PARAMETRY WYWOŁANIA HTTP...15 Parametry wspólne...15 user...15 pass...15 lang...15 function...15 maxlistsize...16 V GeoServer...16 country...16 provice...16 admunit...16 commune...17 city...17 street...17 street2...17 streetnum...17 V Reverse GeoServer...17 wgs84...17 1

V MapServer...18 width...18 height...18 format...18 wgs84x1y1...18 wgs84x2y2...19 zoom...19 param...19 FUNCJE WEBSERVICE (INTERFEJS BEZPOŚREDNI)...20 V GeoServer...20 GeocodingAddress...20 GeocodingAddressEx...20 GeocodingStreet...20 GeocodingStreetEx...20 GeocodingCity...21 GeocodingCityEx...21 GeocodingRegion...21 GeocodingRegionEx...21 GeocodingRegion2...21 GeocodingRegion2Ex...22 GeocodingStreetCross...22 CityStreets...22 ProvinceCities...22 V Reverse GeoServer...23 ReverseGeocoding...23 V MapServer...23 MappingZoom...23 MappingZoomExt...23 MappingBounds...23 MappingBoundsExt...24 OPIS SCZEGÓŁOWY FUNKCJONALNOŚCI...25 V - GeoServer...25 Opis parametrów dostępu...25 Lokalizowanie pełnego adresu...26 Lokalizowanie ulicy w mieście...29 Lokalizowanie skrzyżowania ulic w mieście...30 Lokalizowanie miejscowości...32 Lokalizowanie jednostek administracyjnych...33 Pobranie ulic miasta (lokalizowanie wszystkich ulic)...36 Pobranie listy miejscowości jednostki administracyjnej...37 Format odpowiedzi XML...39 Nagłówek odpowiedzi http (WebService) wszystkie funkcje...39 V Reverse GeoServer...40 Wyszukiwanie obiektów (na podstawie współrzędnych)...40 Format odpowiedzi XML...41 V MapServer...43 Opis parametrów dostępu...43 Proste generowanie mapy...44 Format odpowiedzi XML...47 2

Zaawansowane generowanie mapy...47 Format odpowiedzi XML...50 SPECYFIKACJA ODPOWIEDZI XML...51 Elementy wspólne...51 Deklaracja xml...51 <geovertical>...51 <status>...52 <version>...52 <message>...53 <data>...53 <boundingbox>...54 <navid>...55 <list>...55 <navpos>...56 <navaddress>...57 <map>...59 <center>...59 <zoom>...60 KODY BŁĘDÓW...61 KODY PAŃSTW...62 FORMAT DANYCH UŻYTKOWNIKA...64 Założenia podstawowe...64 Format danych...65 Elementy struktury...68 <data>...68 <layers>...68 <list>...69 <layer>...70 <navpos>...71 <navid>...71 <navstyle>...72 <label>...73 <font>...74 3

WSTĘP Funkcjonalność Geovertical Map Server jest zestawem serwerów udostępniającym biblioteki mapowe oraz nawigacyjne. Ze względu na funkcjonalność Geovertical Map Server składa się z następującego zestawu serwerów: V GeoServer Walidowanie oraz wyznaczanie położenia adresu (lub jego części) w postaci pary współrzędnych X i Y w układzie odwzorowania WGS84 (długość i szerokość geograficzna). Wyszukiwanie skrzyżowań ulic oraz wyszukiwanie punktów zainteresowań (POI), np. najbliższego kina, restauracji czy hotelu. V Reverse GeoServer Konwersja lokalizacji (współrzędnych X I Y w układzie odniesienia WGS84) do postaci adresu lub jego części. V MapServer Dynamiczne generowanie map, o określonej przez użytkownika skali oraz rozmiarze, w postaci rysunków zapisanych w jednym z poniższych formatów: PNG GIF V RouteServer Wyszukiwanie optymalnej, najkrótszej lub najszybszej drogi odwiedzin pomiędzy dwoma punktami z uwzględnieniem punktów postoju oraz podróżując różnymi środkami transportu. UWAGA: Funkcjonalność serwera tras dostępna dopiero od wersji 2.0 4

Struktura Dokumentu Celem tego dokumentu jest przedstawienie szczegółów implementacji systemu, przedstawienie składni protokołów dostępu do serwisu oraz struktury odpowiedzi wysyłanej do systemu wywołującego. Dokument przeznaczony jest dla deweloperów chcących udostępnić swoich systemach funkcjonalność mapową (nawigacyjną) lub urozmaicić swój serwis Internetowy o przedstawienie lokalizacji swoich oddziałów lub magazynów na mapie. Architektura systemu: Rozdział przedstawia strukturę podziału poszczególnych części systemu, podstawową funkcjonalność poszczególnych jego elementów oraz przepływ zleceń przez system. Parametry wywołania: Rozdział opisuje wywołania realizowane poprzez protokół wywołania funkcji WebService. wszystkie parametry http oraz argumenty Funkcje WebService: Rozdział zawiera listę udostępnionych funkcji WebService wraz z opisem parametrów oraz krótkim sposobem działania. Rozdział służy również przedstawieniu interfejsu programistycznego dla deweloperów chcących uzyskać bezpośredni dostęp do wywoływanych funkcji. Opis szczegółowy funkcjonalności: Rozdział przedstawia opis poszczególnych funkcji systemu, przykłady wywołań oraz odpowiedzi. Ten rozdział zawiera również pełną listę parametrów wywołań specyficznych dla każdego serwera. Specyfikacja odpowiedzi XML: Rozdział zawiera szczegóły specyfikacji XML zawierającej odpowiedź generowaną przez system. UWAGA: Funkcjonalność udostępniania poprzez protokół SOAP jest bardziej rozbudowana od funkcjonalności udostępnianej poprzez protokół http. Kody błędów: Rozdział zawiera pełen zestaw błędów, które mogą zostać zwrócone przez system. Kody państw: Rozdział zawiera pełen zestaw kodów państw obsługiwanych przez system. 5

W celu uzyskania dodatkowych informacji lub pomocy prosimy o odwiedzenie naszych stron pod adresem, lub przesłaniu pytania lub uwag na adres e-mail support@geovertical.pl. Oznaczenia przyjęte w dokumencie Ta dokumentacja zawiera następujące oznaczenia prezentowanych informacji: &parametr Parametr wywołania funkcji MappingZoom Nazwa funkcji WebService lub wyrażenia istotne przy implementacji systemu. /....asmx?user=guest&pass=guest &function=map&width=600&height=480&wgs84x1y1=52 21.2&wgs84x 2y2=52.5 21.23 Przykład wywołania funkcji protokołem http. <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingAddress xmlns="http://microsoft.com/webservices/"> <user>guest</user> <pass>guest</pass> <country>pl</country> <city>katowice</city> <street>koszalińska</street> <streetnum>35</streetnum> </GeocodingAddress> </soap:body> </soap:envelope> Przykład wywołania funkcji poprzez protokół SOAP. 6

XmlNode resp = Mapping( guest, guest, 23.600000, 52.250000, 326.762033, 800, 600); Przykład wywołania funkcji poprzez bezpośredni interfejs. <?xml version="1.0" encoding="utf-8"?> - <geovertical> <status> <version>1.0.0.0</version> <message code="200">ok</message> </status> <data> <boundingbox> <navid latitude="51.074543" longitude="21.200000" /> <navid latitude="53.425457" longitude="26.000000" /> </boundingbox> <map href = "/MapImages/gv100002.png" /> <center latitude="52.250000" longitude="23.600000" /> <zoom value="326.762033" /> </data> </geovertical> Przykładowa odpowiedź systemu Uwaga!: Funkcjonalność dostępna od wersji 2.0 Uwagi do fragmentów dokumentacji. 7

ARCHITEKTURA SYSTEMU Elementy systemu Geovertical Map Server zbudowany jest w oparciu o kilka odrębnych serwisów współpracujących ze sobą. W zależności od konfiguracji możliwa jest instalacja na pojedynczym komputerze lub wielu komputerach odpowiedzialnych za poszczególne elementy systemu. Każde zlecenie, jest rejestrowane przez system w bazie danych i polega na następujących czynnościach: Sprawdzenie użytkownika i hasła Sprawdzenie praw dostępu do wykonywanej funkcji Zapis zlecenia w logu systemowym Wykonanie funkcji Zwrot danych w odpowiedzi 8

Typy instalacji Instalacja z dostępem przez sieć Internet Rysunek 1 Instalacja taka umożliwia wykonywania zapytań do serwera mapowego z dowolnego miejsca i przy pomocy dowolnych urządzeń wykorzystujących opisany w tym dokumencie interfejs dostępu. Ze względu na publiczny dostęp do zasobów serwera (względy bezpieczeństwa sieci wewnętrznej) wymagane jest zastosowanie rozbudowanej struktury serwisu. Oddzielne serwery bazy danych, serwisu mapowego oraz serwer internetowy (Np. IIS) rozmieszczone są w odpowiednich podsieciach zabezpieczonych między sobą zaporami. Schemat takiego systemu przedstawia rysunek 1. W przypadku zastosowań na małą skalę możliwe jest również zastosowanie wariantu z wykorzystaniem tylko 1 serwera. Zmniejsza to bezpieczeństwo sieci i może być powodem wielu włamań. 9

Instalacja podstawowa (1 serwer) Rysunek 2 Wariant instalacji z pojedynczym serwerem mapowym jest podstawową strukturą serwisu (serwer obsługuje jednocześnie wszystkie serwisy wymagane przy udostępnianiu usług). Ze względu na łatwość instalacji oraz konfiguracji serwisu wariant ten zaleca się dla obsługi serwisu wewnątrz sieci wewnętrznej lub dla użytkowników o podstawowej znajomości administracji. (Rysunek 2). 10

Korzystanie z usług serwisu Geovertical 'RVWCSGRVHUZLVyZPDSRZ\FK *HRYHUWLFDO0DS6HUYHU 8SURV]F]RQDVWUXNWXUDVLHFL *HRYHUWLFDOXGRVWCSQLDMąFHM VHUZLV\PDSRZH 6DWHOLWD*36 *HRYHUWLFDO :HE &RPSRQHQWV,QWHUQHW 6HüZHZQCWU]QD ZZZ JHRYHUWLFDO SO 6WURQD Rysunek 3 Alternatywą do zakupu serwera oraz instalacji na własnych serwerach z wykorzystaniem własnego sprzętu oraz infrastruktury sieci jest korzystanie z usług oferowanych przez serwis www.geovertical.pl. Usługi mapowe udostępniane przez serwis nie wymagają większych wkładów finansowych przez przedsiębiorstwo i dają możliwość wykorzystywania usług mapowych tylko w momencie takiej potrzeby. Takie rozwiązanie kierowane jest głównie dla małych i średnich przedsiębiorstw, które nie chcą lub nie mają potrzeby inwestowania w oprogramowanie i sprzęt wykorzystywany przez serwery mapowe. A jednocześnie mają potrzebę używania funkcjonalności mapowej. Rozwiązanie to wymaga jedynie uzyskania dostępu do serwisu (login i hasło), pobrania i użycia komponentów mapowych (lokalnego oraz/lub web-owego) lub stworzenia własnego oprogramowania korzystającego ze zdalnych funkcji serwisu. 11

W zależności od sposobu dostępu (pojedyncze zlecenie, pakiet zleceń lub dostęp zgodnie z abonamentem) dostępne są wszystkie lub tylko część funkcji opisanych w tej dokumentacji. Ponadto dla użytkowników specjalnych odpowiedzi systemów mogą się różnić od standardowych (w związku ze specyficznymi wymaganiami użytkownika) UWAGA: W celu uzyskania dostępu do funkcji specjalnych lub chęci zmiany w jakichkolwiek częściach systemu dla użytkownika specjalnego, należy skontaktować się z producentem oprogramowania lub zarejestrować się na stronach www.geovertical.pl. 12

Dostęp do systemu Dostęp poprzez protokół HTTP Jednym ze sposobów dostępu do systemu Geovertical Map Server jest dostęp do systemu z wykorzystaniem protokołu http. Protokół http jest najprostszym sposobem dostępu i umożliwiającym dostęp bez znajomości protokołu SOAP, czy też bez posiadania zaawansowanych narzędzi programistycznych takich jak Microsoft Visual Studio. Wywołania takiego zlecenia przedstawia poniższy przykład: /....asmx?user=guest&pass=guest&function=map&width=600&height=4 80&wgs84x1y1=52 21.2&wgs84x2y2=52.5 21.23 W efekcie system rejestruje zlecenie i wywołuje kolejne elementy systemu w celu wykonania zlecenia. W wyniku operacji zostanie zwrócona odpowiedź w postaci dokumentu XML. Sposób prezentacji oraz analizy odpowiedzi zależy już od konkretnego rozwiązania i leży w gestii wywołującego zlecenie. Należy pamiętać, że w efekcie wywołania dowolnej funkcji systemu otrzymamy odpowiedź w postaci dokumentu XML który należy przy pomocy odpowiednich narzędzi opracować oraz wizualizować dla użytkownika. Dokument XML Specyfikacja XML jest ogólno dostępna i szczegółów implementacyjnych oraz przykładów należy szukać w dedykowanych dokumentach lub na stronach firmy Microsoft. Dostęp poprzez protokół SOAP Innym sposobem dostępu do serwisu jest protokół SOAP. Implementacja tego protokołu wymaga większej wiedzy programistycznej oraz nakładu pracy w napisanie funkcji wywołujących. Natomiast zastosowanie SOAP daje większą wydajność oraz bardziej formalny sposób dostępu do poszczególnych funkcji systemu a niżeli protokół http. Poniżej przedstawiony został przykładowy sposób wywołania z wykorzystaniem protokołu SOAP: 13

POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/reversegeocoding" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <ReverseGeocoding xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <x>double</x> <y>double</y> </ReverseGeocoding> </soap:body> </soap:envelope> Dostęp bezpośredni W przypadku aplikacji pisanych w technologii.net możliwy jest bezpośredni dostęp do interfejsu serwerów mapowych. W takim przypadku funkcjonalność systemu można wywoływać bezpośrednio z kodu programu podpinając jedynie referencje do odpowiednich bibliotek DLL. Taki sposób dostępu umożliwia w pełni wykorzystać funkcjonalność systemu oraz podnieść wydajność seryjnego wykonywania zleceń. 14

PARAMETRY WYWOŁANIA HTTP Parametry wspólne Wszystkie parametry w tej sekcji są wspólne we wszystkich funkcjach. user (wymagany) Nazwa użytkownika (login) dostępy do platformy systemu. Nazwa Użytkownika uzyskiwana jest podczas procesu rejestracji. pass (wymagany) Hasło użytkownika dostępu do platformy systemu. Hasło wprowadzane jest przez użytkownika podczas procesu rejestracji. Hasło użytkownika Ze względu na zabezpieczenie systemu hasło nie może być krótsze niż 6 znaków I musi zawierać przynajmniej 1 cyfrę. lang (opcjonalny) Specyfikuje język w którym będą generowane odpowiedzi (komunikaty błędów lub nazwy specyficzne dla wybranej lokalizacji) Językiem domyślnym dla całej platformy jest język polski. Wszelkie komunikaty oraz nazwy w przypadku nie wypełnienia tego parametru będą w tym języku. Wartość parametru może być wyłącznie dwu-znakowym kodem ISO kraju. np. lang=pl function (wymagany) Specyfikuje funkcję API która zostanie wywołana ( geo, revgeo, route, map ) Parametr function wykorzystywany jest jedynie w zewnętrznej aplikacji z dostępem poprzez protokół http, w której wyboru funkcji dokonuje się właśnie poprzez opisywany parametr. Podczas implementacji serwisu nie powinno stosować się 15

uproszczonej składni ponieważ wpływa to na wydajność systemu. maxlistsize (opcjonalny) Parametr określa maksymalną liczbę zwróconych obiektów. Jeżeli parametr zostanie ustawiony na N w odpowiedzi otrzymamy N lub mniej obiektów. W przypadku gdy parametr nie zostanie wyspecyfikowany, domyślnie zostanie ustawiona wartość 100. Maxlistsize = 100 Ograniczenie zostało wprowadzone w związku z możliwością skonstruowania nieoptymalnego zapytania. W przypadku gdy w odpowiedzi uzyskamy maksymalną dopuszczalną liczbę obiektów należy doprecyzować zapytanie i wykonać je ponownie. V GeoServer country (opcjonalny) Kod państwa, którego dotyczy zapytanie. Pełna lista kodów państw znajduje się w rozdziale Błąd! Nie można odnaleźć źródła odwołania.. Jeżeli kod państwa nie został wyspecyfikowany, zapytanie zwróci informacje o wszystkich obiektach przechowywanych w bazie danych. provice (opcjonalny) Nazwa stanu, prowincji lub województwa w obrębie którego będzie wykonywane wyszukiwanie. Jeżeli nie wyspecyfikowano nazwy, wyszukiwanie nie będzie brało pod uwagę tego parametru. admunit (opcjonalny) Nazwa jednostki administracyjnej lub powiatu w obrębie którego będzie wykonywane wyszukiwanie. Jeżeli nie wyspecyfikowano nazwy, wyszukiwanie nie będzie brało pod uwagę tego parametru. 16

commune (opcjonalny) Nazwa gminy lub najmniejszej jednostki administracyjnej w obrębie której będzie wykonywane wyszukiwanie. Jeżeli nie wyspecyfikowano nazwy, wyszukiwanie nie będzie brało pod uwagę tego parametru. city (wymagany jeżeli zdefiniowano nazwę ulicy) Nazwa miejscowości w obrębie której będzie wykonywane wyszukiwanie. street (wymagany jeżeli podano numer adresowy lub parametr street2) Nazwa poszukiwanej ulicy lub jej część nazwy. Jeżeli nie wyspecyfikowano nazwy, wyszukiwanie zwróci punkty centralne znalezionych miejscowości. street2 (opcjonalny) Nazwa ulicy której dotyczy wyszukiwanie skrzyżowania z ulicą zdefiniowaną w parametrze street. streetnum (opcjonalny) Poszukiwany numer adresowy. Jeżeli nie wyspecyfikowano numeru lub wyspecyfikowano błędny numer, zostanie zwrócona lista wszystkich lub podobnych punktów adresowych. V Reverse GeoServer wgs84 (wymagany) Parametr specyfikuje koordynaty lokalizacji w układzie odniesienia WGS84. Składnia zapisu wartości parametru jest następująca: &wgs84 = <szerokość_geograficzna> <długość_geograficzna> 17

V MapServer width (wymagany) Parametr specyfikuje szerokość generowanej mapy w pikselach. Maksymalna dopuszczalna wielkość to 1600. Minimalna dopuszczalna wielkość to 50. height (wymagany) Parametr specyfikuje wysokość generowanej mapy w pikselach. Maksymalna dopuszczalna wielkość to 1600. Minimalna dopuszczalna wielkość to 50. format (opcjonalny) Parametr specyfikuje format pliku generowanej mapy. Jeżeli nie wyspecyfikowano wartości przyjmowany jest format domyślny.png. Dostępne formaty to:.png.gif wgs84x1y1 (wymagany) Parametr specyfikuje koordynaty lokalizacji w układzie odniesienia WGS84 i oznacza: Lewy dolny róg mapy jeżeli wyspecyfikowano parametr wgs84x2y2 Punkt centralny mapy (środek) jeżeli wyspecyfikowano parametr zoom Składnia zapisu wartości parametru jest następująca: &wgs84x1y1 = <szerokość_geograficzna> <długość_geograficzna> 18

wgs84x2y2 (wymagany jeżeli nie zdefiniowano parametru zoom) Parametr specyfikuje koordynaty lokalizacji w układzie odniesienia WGS84 i oznacza prawy górny róg mapy. Składnia zapisu wartości parametru jest następująca: &wgs84x2y2 = <szerokość_geograficzna> <długość_geograficzna> zoom (wymagany jeżeli nie zdefiniowano parametru wgs84x2y2) Parametr specyfikuje szerokość mapy określoną [km]. Minimalna dopuszczalna wielkość to 0,1. Maksymalna dopuszczalna wielkość to 50 000. param (wersja 1.1) (dostępny tylko z wykorzystaniem protokoły SOAP lub bezpośrednio poprzez referencję do biblioteki DLL) Parametr specyfikuje dane przychodzące ze strony użytkownika do serwera. Format danych XML zgodny w podstawowym zakresie ze specyfikacją odpowiedzi serwera mapowego (z drobnymi różnicami). Dokładna struktura oraz opis poszczególnych elementów danych znajdziecie państwo na końcu dokumentu w dodatku Format danych użytkownika. Dane przekazywane do serwera mapowego: widoczność warstw dodatkowych, widoczność warstw standardowych, obiekty użytkownika (położenie, opis, styl wyświetlania). 19

FUNCJE WEBSERVICE (INTERFEJS BEZPOŚREDNI) V GeoServer GeocodingAddress [WebMethod(MessageName="GeocodingAddress")] public XmlNode Geocoding(string user, string pass, string country, string city, string street, string streetnum); Funkcja wyszukuje punkty adresowe po pełnych danych. GeocodingAddressEx [WebMethod(MessageName="GeocodingAddressEx")] public XmlNode Geocoding(string user, string pass, string country, string city, string street, string streetnum, int maxlistsize); Funkcja wyszukuje punkty adresowe po pełnych danych z uwzględnieniem maksymalnej ilości elementów zwróconych w odpowiedzi. GeocodingStreet [WebMethod(MessageName="GeocodingStreet")] public XmlNode Geocoding(string user, string pass, string country, string city, string street); Funkcja wyszukuje ulice (oraz przypisane do ulic punkty adresowe) z uwzględnieniem wyłącznie nazwy ulicy. GeocodingStreetEx [WebMethod(MessageName="GeocodingStreetEx")] public XmlNode Geocoding(string user, string pass, string country, string city, string street, int maxlistsize); Funkcja wyszukuje ulice (oraz przypisane do ulic punkty adresowe) z uwzględnieniem wyłącznie nazwy ulicy oraz maksymalnej ilości elementów zwróconych w odpowiedzi. 20

GeocodingCity [WebMethod(MessageName="GeocodingCity")] public XmlNode Geocoding(string user, string pass, string country, string city); Funkcja wyszukuje miejscowości z zadanego regionu. GeocodingCityEx [WebMethod(MessageName="GeocodingCityEx")] public XmlNode Geocoding(string user, string pass, string country, string city, int maxlistsize); Funkcja wyszukuje miejscowości z zadanego regionu z uwzględnieniem maksymalnej ilości elementów zwróconych w odpowiedzi. GeocodingRegion [WebMethod(MessageName="GeocodingRegion")] public XmlNode GeocodingRegion(string user, string pass, string country, string name, RegionTypeEnum region); Funkcja wyszukuje regiony (gminy, powiaty lub województwa). GeocodingRegionEx [WebMethod(MessageName="GeocodingRegionEx")] public XmlNode GeocodingRegion(string user, string pass, string country, string name, RegionTypeEnum region, int maxlistsize); Funkcja Wyszukuje regiony (gminy, powiaty lub województwa) z uwzględnieniem maksymalnej ilości elementów zwróconych w odpowiedzi. GeocodingRegion2 [WebMethod(MessageName="GeocodingRegion2")] public XmlNode GeocodingRegion(string user, string pass, string country, string province, string admunit, string commune); Funkcja wyszukuje regiony znaczącego regionu (gminy). zależne poczynając od 21 najmniej

GeocodingRegion2Ex [WebMethod(MessageName="GeocodingRegion2Ex")] public XmlNode GeocodingRegion(string user, string pass, string country, string province, string admunit, string commune, int maxlistsize); Funkcja wyszukuje regiony zależne poczynając od najmniej znaczącego regionu (gminy) z uwzględnieniem maksymalnej ilości elementów zwróconych w odpowiedzi. GeocodingStreetCross [WebMethod(MessageName="GeocodingStreetCross")] public XmlNode GeocodingStreetCross(string user, string pass, string country, string city, string street, string street2); Funkcja wyszukuje skrzyżowanie dwóch ulic. CityStreets [WebMethod] public XmlNode CityStreets(string user, string pass, string country, string city); Funkcja wyszukuje listę ulic wyspecyfikowanej miejscowości. W przypadku gdy dla podanej miejscowości brakuje ulic w bazie danych, funkcja zwraca lokalizację miejscowości. ProvinceCities [WebMethod] public XmlNode ProvinceCities(string user, string pass, string country, string province); Funkcja wyszukuje miejscowości dla wyspecyfikowanego województwa i zwraca ją w posortowaną po nazwie miejscowości. 22

V Reverse GeoServer ReverseGeocoding [WebMethod] public XmlNode ReverseGeocoding(string user, string pass, double x, double y); Funkcja wyszukuje adres, ulicę lub miejscowość na podstawie podanych współrzędnych. W przypadku gdy nie zostanie odnaleziona jedna z bardziej szczegółowych informacji zwracane są dane dotyczące następnego obiektu w kolejności od najbardziej szczegółowej do najniej szczegółowej czyli nazwy oraz położenia państwa. V MapServer MappingZoom [WebMethod(MessageName="MappingZoom")] public XmlNode Mapping(string user, string pass, double x, double y, double zoom, int width, int height); Funkcje Generuje mapę na podstawie punktu centralnego oraz skali mapy podanej w [km]. MappingZoomExt [WebMethod(MessageName="MappingZoomExt")] public XmlNode Mapping(string user, string pass, double x, double y, double zoom, int width, int height, XmlNode param); Funkcje Generuje mapę na podstawie punktu centralnego oraz skali mapy podanej w [km], uwzględniając parametry zapisane w dokumencie XML (patrz Format danych użytkownika). MappingBounds [WebMethod(MessageName="MappingBounds")] public XmlNode Mapping(string user, string pass, double x, double y, double x2, double y2, int width, int height); 23

Funkcja generuje mapę na podstawie lewego dolnego oraz prawego górnego rogu zadanego obszaru. MappingBoundsExt [WebMethod(MessageName="MappingBoundsExt")] public XmlNode Mapping(string user, string pass, double x, double y, double x2, double y2, int width, int height, XmlNode param); Funkcja generuje mapę na podstawie lewego dolnego oraz prawego górnego rogu zadanego obszaru, uwzględniając parametry zapisane w dokumencie XML (patrz Format danych użytkownika). 24

OPIS SCZEGÓŁOWY FUNKCJONALNOŚCI V - GeoServer Funkcjonalność tego modułu polega na wyszukiwaniu geograficznej lokalizacji obiektów w przestrzeni. Operacja geokodowania zwraca listę znalezionych obiektów zawierających współrzędne w układzie odniesienia WGS84. W zależności od konstrukcji zapytania, istnieje możliwość odpowiedzi z wieloma obiektami. Domyślnie liczba zwróconych obiektów ograniczona jest do 100. Z tego powodu większość funkcji tego modułu posiada również swój odpowiednik z obsługą parametru określającego maksymalną ilość zwracanych obiektów. Funkcje wewnętrzna systemu: geo, cities, streets Funkcjonalność geokodowania jest niezwykle istotna w dalszych procesach generowania map, wyszukiwania drogi, czy pozycjonowania obiektów. Wszystkie te funkcje używają współrzędnych w układzie odniesienia WGS84 jako argumentów wymaganych. Opis parametrów dostępu user login użytkownika (wymagany), pass hasło użytkownika (wymagany), lang kod języka odpowiedzi (opcjonalny jeżeli nie podano wartością domyślną jest kod pl, function nazwa wykonywanej funkcji (wymagany), country kod kraju którego dotyczy zapytanie (wymagany kody dostępnych krajów dostępne są w załączniku), city miejscowość której dotyczy wyszukiwanie, street nazwa lokalizowanej ulicy, street2 nazwa ulicy której skrzyżowanie z ulicą podaną w parametrze street będzie lokalizowane, 25

streetnum numer adresowy, maxlistsize maksymalna liczba obiektów na liście odpowiedzi, name nazwa regionu, region typ regionu. W zależności od potrzeb należy podać następujące wartości: Province województwo, AdministrationUnit powiat, Commune gmina, province nazwa województwa, admunit nazwa powiatu, commune nazwa gminy, Lokalizowanie pełnego adresu Funkcja (aspx): geo Funkcje WebService: GeocodingAddress GeocodingAddressEx Opis: Wyszukiwanie lokalizacji na podstawie pełnego adresu. W przypadku gdy nie znaleziono pełnego adresu zwracane są następujące odpowiedzi: Lista adresów o podobnym numerze, jeżeli nastąpiła mała pomyłka w numerze adresu, Lista wszystkich adresów, jeżeli przybliżonych numerów adresowych, Lokalizację ulicy jeżeli dla wyspecyfikowanej miejscowości nie ma planu adresowego Lokalizację ulic o podobnej nazwie, jeżeli nazwa ulicy jest błędna nie można 26 znaleźć

Kod poprawnego wykonania funkcji zwracany jest jedynie w następujących przypadkach: Znaleziono pełny adres wraz z dokładnym numerem adresowym Znaleziono ulicę, ale nie podano numeru adresowego. (W tym przypadku zwracane są dodatkowo wszystkie numery adresowe przypisane do danej ulicy) UWAGA: Dla większości funkcji opisanych w tym module serwera większość funkcji działa w sposób analogiczny i w przypadku nie podania któregoś z parametrów wywołania funkcje będą zachowywały się analogiczne jak opis działania umieszczony powyżej. Nagłówek zapytania http (ASP) http://localhost/api.aspx?user=test&pass=test&lang=pl&function= geo&country=pl&city=katowice&street=krogulcza&streetnum=34 Nagłówek zapytania http (WebService) POST /vgeoservice/service.asmx/geocodingaddress HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&country=string&city=string&street=strin g&streetnum=string Dla funkcji rozszerzonej nagłówek wygląda następująco POST /vgeoservice/service.asmx/geocodingaddressex Host: localhost Content-Type: application/x-www-form-urlencoded HTTP/1.1 user=string&pass=string&country=string&city=string&street=strin g&streetnum=string&listsize=string Nagłówek zapytania SOAP (WebService) POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 27

SOAPAction: "http://microsoft.com/webservices/geocodingaddress" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingAddress xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <city>string</city> <street>string</street> <streetnum>string</streetnum> </GeocodingAddress> </soap:body> </soap:envelope> I odpowiednik dla funkcji rozszerzonej: POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/geocodingaddressex" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingAddressEx xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <city>string</city> <street>string</street> <streetnum>string</streetnum> <listsize>int</listsize> </GeocodingAddressEx> </soap:body> </soap:envelope> Nagłówek odpowiedzi SOAP (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> 28

<soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingAddressExResponse xmlns="http://microsoft.com/webservices/"> <GeocodingAddressExResult>xml</GeocodingAddressExResult> </GeocodingAddressExResponse> </soap:body> </soap:envelope> Lokalizowanie ulicy w mieście Funkcja (aspx): geo Funkcje WebService: GeocodingStreet GeocodingStreetEx Opis: Funkcja wyszukuje lokalizację ulicy w miejscowości. Nagłówek zapytania http (ASP) http://localhost/api.aspx?user=test&pass=test&lang=pl&function= geo&country=pl&city=katowice&street=krogulcza Nagłówek zapytania http (WebService) POST /vgeoservice/service.asmx/geocodingstreet HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&country=string&city=string&street=strin g Nagłówek zapytania SOAP (WebService) POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/geocodingstreet" <?xml version="1.0" encoding="utf-8"?> 29

<soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingStreet xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <city>string</city> <street>string</street> </GeocodingStreet> </soap:body> </soap:envelope> Nagłówek odpowiedzi SOAP (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingStreetResponse xmlns="http://microsoft.com/webservices/"> <GeocodingStreetResult>xml</GeocodingStreetResult> </GeocodingStreetResponse> </soap:body> </soap:envelope> Lokalizowanie skrzyżowania ulic w mieście Funkcja (aspx): geo Funkcje WebService: GeocodingStreetCross Opis: Funkcja wyszukuje lokalizację ulicy w miejscowości. Nagłówek zapytania http (ASP) http://localhost/api.aspx?user=test&pass=test&lang=pl&function= geo&country=pl&city=katowice&street=kościuszki&street2=jord ana 30

Nagłówek zapytania http (WebService) POST /vgeoservice/service.asmx/geocodingstreetcross Host: localhost Content-Type: application/x-www-form-urlencoded HTTP/1.1 user=string&pass=string&country=string&city=string&street=strin g&street2=string Nagłówek zapytania SOAP (WebService) POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/geocodingstreetcross" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingStreetCross xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <city>string</city> <street>string</street> <street2>string</street2> </GeocodingStreetCross> </soap:body> </soap:envelope> Nagłówek odpowiedzi SOAP (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingStreetCrossResponse xmlns="http://microsoft.com/webservices/"> <GeocodingStreetCrossResult>xml</GeocodingStreetCrossResult> </GeocodingStreetCrossResponse> </soap:body> </soap:envelope> 31

Lokalizowanie miejscowości Funkcja (aspx): geo Funkcje WebService: GeocodingCity GeocodingCityEx Opis: Funkcja wyszukuje lokalizację miejscowości. Nagłówek zapytania http (ASP) http://localhost/api.aspx?user=test&pass=test&lang=pl&function= geo&country=pl&city=katowice Nagłówek zapytania http (WebService) POST /vgeoservice/service.asmx/geocodingcity HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&country=string&city=string Nagłówek zapytania SOAP (WebService) POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/geocodingcity" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingCity xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <city>string</city> </GeocodingCity> </soap:body> </soap:envelope> 32

Nagłówek odpowiedzi SOAP (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingCityResponse xmlns="http://microsoft.com/webservices/"> <GeocodingCityResult>xml</GeocodingCityResult> </GeocodingCityResponse> </soap:body> </soap:envelope> Lokalizowanie jednostek administracyjnych Funkcja (aspx): geo Funkcje WebService: GeocodingRegion GeocodingRegionEx GeocodingRegion2 GeocodingRegion2Ex Opis: Funkcja wyszukuje lokalizację jednostek administracyjnych. W zależności od parametru region wyszukiwane są województwa, powiaty lub gminy. Poprawne wartości przyjmowane przez argument region: Province AdministrationUnit Commune Nagłówek zapytania http (ASP) http://localhost/api.aspx?user=test&pass=test&lang=pl&function= geo&country=pl&name=śląskie&region=province 33

http://localhost/api.aspx?user=test&pass=test&lang=pl&function= geo&country=pl&province=śląskie=admunit=katowice&commune=ka towice Nagłówek zapytania http (WebService) Wersja z typem jednostki terytorialnej: POST /vgeoservice/service.asmx/geocodingregion HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&country=string&name=string&region=strin g Wersja ze wszystkimi typami jednostek terytorialnych: POST /vgeoservice/service.asmx/geocodingregion2 HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&country=string&province=string&admunit= string&commune=string Nagłówek zapytania SOAP (WebService) Wersja z typem jednostki terytorialnej: POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/geocodingregion" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingRegion xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <name>string</name> <region>province or AdministrationUnit or Commune</region> </GeocodingRegion> </soap:body> </soap:envelope> 34

Wersja ze wszystkimi typami jednostek terytorialnych: POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/geocodingregion2" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingRegion2 xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <province>string</province> <admunit>string</admunit> <commune>string</commune> </GeocodingRegion2> </soap:body> </soap:envelope> Nagłówek odpowiedzi SOAP (WebService) Wersja z typem jednostki terytorialnej: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingRegionResponse xmlns="http://microsoft.com/webservices/"> <GeocodingRegionResult>xml</GeocodingRegionResult> </GeocodingRegionResponse> </soap:body> </soap:envelope> Wersja ze wszystkimi typami jednostek terytorialnych: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> 35

<soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GeocodingRegion2Response xmlns="http://microsoft.com/webservices/"> <GeocodingRegion2Result>xml</GeocodingRegion2Result> </GeocodingRegion2Response> </soap:body> </soap:envelope> Pobranie ulic miasta (lokalizowanie wszystkich ulic) Funkcja (aspx): streets Funkcje WebService: CityStreets Opis: Funkcja pobiera listę wszystkich lokalizacji ulic w mieście. UWAGA: Należy pamiętać, że nazwa miejscowości musi dokładnie zgadzać się z nazwą w bazie danych. W celu uzyskania poprawnej listy nazw miejscowości należy użyć funkcji cities. Nagłówek zapytania http (ASP) http://localhost/api.aspx?user=test&pass=test&lang=pl&function= streets&country=pl&city=katowice Nagłówek zapytania http (WebService) POST /vgeoservice/service.asmx/citystreets HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&country=string&city=string Nagłówek zapytania SOAP (WebService) POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 36

SOAPAction: "http://microsoft.com/webservices/citystreets" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <CityStreets xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <city>string</city> </CityStreets> </soap:body> </soap:envelope> Nagłówek odpowiedzi SOAP (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <CityStreetsResponse xmlns="http://microsoft.com/webservices/"> <CityStreetsResult>xml</CityStreetsResult> </CityStreetsResponse> </soap:body> </soap:envelope> Pobranie listy miejscowości jednostki administracyjnej Funkcja (aspx): cities Funkcje WebService: ProvinceCities Opis: Funkcja zwraca listę miejscowości dla wybranego województwa. UWAGA: W celu uzyskania poprawnej odpowiedzi należy podawać nazwę województwa w prawidłowej formie np. śląskie 37

Nagłówek zapytania http (ASP) http://localhost/api.aspx?user=test&pass=test&lang=pl&function= cities&country=pl&province=śląskie Nagłówek zapytania http (WebService) POST /vgeoservice/service.asmx/provincecities HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&country=string&province=string Nagłówek zapytania SOAP (WebService) POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/provincecities" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <ProvinceCities xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <country>string</country> <province>string</province> </ProvinceCities> </soap:body> </soap:envelope> Nagłówek odpowiedzi SOAP (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <ProvinceCitiesResponse xmlns="http://microsoft.com/webservices/"> <ProvinceCitiesResult>xml</ProvinceCitiesResult> </ProvinceCitiesResponse> </soap:body> 38

</soap:envelope> Format odpowiedzi XML <?xml version="1.0" encoding="utf-8"?> - <geovertical> <status> <version>1.0.0.0</version> <message code="632">nie znaleziono ulicy.</message> </status> - <data> <boundingbox> <navid latitude="50.873094" longitude="19.299945" /> <navid latitude="50.873094" longitude="19.299945" /> </boundingbox> <list size="1"> <navpos> <navid latitude="50.873094" longitude="19.299945" /> <navaddress> <country>polska</country> <state>śląskie</state> <adm>częstochowski</adm> <county>kłomnice</county> <city streets="false" population="52">przybyłów</city> <code /> <street numbers="false" /> <streetnum>0</streetnum> </navaddress> </navpos> </list> </data> </geovertical> Nagłówek odpowiedzi http (WebService) wszystkie funkcje HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0"?> xml 39

V Reverse GeoServer Funkcjonalność tego modułu polega na wyszukiwaniu najbliższego obiektu geograficznego. Odwrotne geokodowanie może zwrócić adres, ulicę, miejscowość lub punkt zainteresowania na podstawie wyspecyfikowanych parametrów wejściowych. Wyszukiwanie obiektów (na podstawie współrzędnych) Funkcja odwrotnego geokodowania może zwrócić jedynie jeden obiekt. W celu wyszukania wszystkich obiektów w wyspecyfikowanym promieniu powinna zostać wykorzystana funkcja pozycjonowania. Funkcja wewnętrzna systemu: revgeo Parametry dostępu poprzez stronę ASPX wgs84 (wymagany) Parametr specyfikuje koordynaty lokalizacji w układzie odniesienia WGS84. Składnia: &wgs84 = <szerokość_geograf.> <długość_geograf.> Przykład: &wgs84 = 50.864836 19.293607 http://localhost/api.aspx?user=test&pass=test&lang=pl&function= revgeo&wgs84=50.864836 19.293607 Nagłówek zapytania http (WebService) POST /vgeoservice/service.asmx/reversegeocoding HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&x=string&y=string Nagłówek zapytania SOAP (WebService) POST /vgeoservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/reversegeocoding" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> 40

<ReverseGeocoding xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <x>double</x> <y>double</y> </ReverseGeocoding> </soap:body> </soap:envelope> Nagłówek odpowiedzi http (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0"?> xml Nagłówek odpowiedzi SOAP (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <ReverseGeocodingResponse xmlns="http://microsoft.com/webservices/"> <ReverseGeocodingResult>xml</ReverseGeocodingResult> </ReverseGeocodingResponse> </soap:body> </soap:envelope> Format odpowiedzi XML <?xml version="1.0" encoding="utf-8"?> - <geovertical> <status> <version>1.0.0.0</version> <message code="200">ok</message> </status> - <data> <boundingbox> <navid latitude="50.873094" longitude="19.299945" /> <navid latitude="50.873094" longitude="19.299945" /> </boundingbox> <list size="1"> <navpos> <navid latitude="50.873094" longitude="19.299945" 41

/> - <navaddress> <country id="616" iso2="pl" iso3="pl" fips="pl">polska</country> <state>śląskie</state> <adm>częstochowski</adm> <county>kłomnice</county> <city streets="false" population="52" population="5">przybyłów</city> <code /> <street numbers="false" /> <streetnum /> </navaddress> </navpos> </list> </data> </geovertical> 42

V MapServer Funkcjonalność modułu polega na generowaniu plików graficznych zawierających wizualizowane mapy. Parametry geograficzne oraz fizyczne plików podawane są poprzez wywołania funkcji. Opis parametrów dostępu user login użytkownika (wymagany), pass hasło użytkownika (wymagany), lang kod języka odpowiedzi (opcjonalny jeżeli nie podano wartością domyślną jest kod pl, function nazwa wykonywanej funkcji (wymagany tylko podczas wykorzystywania z protokołem http oraz aplikacji wspomagającej), wgs84 współrzędne punktu centralnego mapy (format współrzędnych <szer._geogr.> <długość_geogr.>) zoom szerokość mapy podawana w [km]; parametr ten decyduje w jaki sposób będzie interpretowanie żądanie wygenerowania mapy: Jeżeli parametr zoom został podany, wtedy parametr wgs84 jest wymagany, Jeżeli parametr zoom nie został podany, wtedy wymagane są również parametry wgs84s1y1 oraz wgs84x2y2, wgs84x1y1 współrzędna dolnego lewego rogu mapy (format współrzędnych <szer._geogr.> <długość_geogr.>) wgs84x2y2 wpółrzędna górnego prawego rogu mapy (format współrzędnych <szer._geogr.> <długość_geogr.>) width (wymagany) Parametr specyfikuje generowanej mapy w pikselach. Maksymalna dopuszczalna wielkość to 1600. Minimalna dopuszczalna wielkość to 50. 43 szerokość

height (wymagany) Parametr specyfikuje generowanej mapy w pikselach. wysokość Maksymalna dopuszczalna wielkość to 1600. Minimalna dopuszczalna wielkość to 50. format (opcjonalny) Parametr specyfikuje format pliku generowanej mapy. Jeżeli nie wyspecyfikowano wartości przyjmowany jest format domyślny.png. Dostępne formaty to: param.png.gif (wersja 1.1) (dostępny tylko z wykorzystaniem protokoły SOAP lub bezpośrednio poprzez referencję do biblioteki DLL dla zaawansowanego generowania map) Parametr specyfikuje dane przychodzące ze strony użytkownika do serwera. Format danych XML zgodny w podstawowym zakresie ze specyfikacją odpowiedzi serwera mapowego (z drobnymi różnicami). Dokładna struktura oraz opis poszczególnych elementów danych znajdziecie państwo na końcu dokumentu w dodatku Format danych użytkownika. Dane przekazywane do serwera mapowego: widoczność warstw dodatkowych, widoczność warstw standardowych, obiekty użytkownika wyświetlania). (położenie, opis, styl Proste generowanie mapy Funkcja prostego generowania mapy polega na stworzeniu obrazu mapy na podstawie danych wektorowych oraz parametrów żądania. Istnieją dwie możliwości wywołania tej funkcji: Generowanie mapy na podstawie punktu centralnego oraz szerokości mapy, 44

Generowanie mapy na podstawie współrzędnych rogu mapy. Funkcja wewnętrzna systemu: map Nagłówek zapytania http (ASP) http://localhost/api.aspx?user=test&pass=test&lang=pl&function= map&wgs84=50.234562 19.123645&zoom=75&width=600&height=480& format=.png http://localhost/api.aspx?user=test&pass=test&lang=pl&function= map&wgs84x1y1=50.872094 19.298945&wgs84x2y2=50.874094 19.29 9945&width=600&height=480&format=.png Nagłówki zapytania http (WebService) POST /vmapservice/service.asmx/mappingzoom HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&x=string&y=string&zoom=string&width=str ing&height=string&format=string POST /vmapservice/service.asmx/mappingbounds HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded user=string&pass=string&x=string&y=string&x2=string&y2=string&w idth=string&height=string&format=string Nagłówki zapytania SOAP (WebService) POST /vmapservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/mappingzoom" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <MappingZoom xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <x>double</x> 45

<y>double</y> <zoom>double</zoom> <width>int</width> <height>int</height> <format>string</format> </MappingZoom> </soap:body> </soap:envelope> POST /vmapservice/service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 SOAPAction: "http://microsoft.com/webservices/mappingbounds" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <MappingBounds xmlns="http://microsoft.com/webservices/"> <user>string</user> <pass>string</pass> <x>double</x> <y>double</y> <x2>double</x2> <y2>double</y2> <width>int</width> <height>int</height> <format>string</format> </MappingBounds> </soap:body> </soap:envelope> Nagłówek odpowiedzi http (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0"?> xml Nagłówki odpowiedzi SOAP (WebService) HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 46