Przykład: Eksportowanie danych w integracjach geokodowania Esri
Aby wyeksportować dane z bazy danych IBM® TRIRIGA na serwer Esri, można wybrać schemat HTTP POST dla danych i żądań wychodzących. Następnie można odwzorować parametry odpowiedzi z żądania HTTP do rekordów lokalizacji w celu zaktualizowania ich pozycji geograficznych.
Informacje podstawowe
Ichiro jest specjalistą ds. integracji w firmie ABC. Opracowuje integracje produktu IBM TRIRIGA dla klientów firmy ABC.
http://geocode.arcgis.com/arcgis/rest/services
/World/GeocodeServer/findAddressCandidates
http://geocode.arcgis.com/arcgis/rest/services
/World/GeocodeServer/findAddressCandidates?forStorage=true
&token=Z43nqkyXY48Kx1iiPgCCZsh7Kf7ZxsKSH4xEO2Q8x34wiHU8wysAljsRzzYI51eg-
zAr114CR0vgQ6fUt5a4eatD9FGejE4w8hTBY-f5vy5v1asxh_rXvLZsw6upiRPU
Krok 1: Zdefiniowanie schematu danych integracji
- Nazwa
- Adres wg kodu geog.
- Schemat
- Http Post
- Kierunek
- W toku
- Typ przesyłania
- Łańcuch zapytania
- Typ odpowiedzi
- JSON
- URL HTTP
-
http://geocode.arcgis.com/arcgis/rest/services /World/GeocodeServer/findAddressCandidates?forStorage=true &token=Z43nqkyXY48Kx1iiPgCCZsh7Kf7ZxsKSH4xEO2Q8x34wiHU8wysAljsRzzYI51eg- zAr114CR0vgQ6fUt5a4eatD9FGejE4w8hTBY-f5vy5v1asxh_rXvLZsw6upiRPU
- Sekcja zapytania dot. zapytań wychodzących: Jest dynamiczne?
- Tak
Krok 2: Definiowanie mapy danych
- triAddressTX
- Adres
- triZipPostalTX
- Kod pocztowy
- triCityTX
- Miejscowość
- triStateProvTX
- Stan
Dla dodatkowych dwóch pól Ichiro definiuje dwie dodatkowe wartości External, aby określić odpowiednie wartości pola Default, jakie są wymagane przez usługę geokodowania Esri. Zdefiniowane wartości External to outSR dla identyfikatora WKID oraz f dla formatu. Odpowiadające im wartości pola Default to 102100 dla identyfikatora WKID oraz json dla formatu. Aby sprawdzić wartość 102100, Ichiro sprawdza wartości WKID dla układu współrzędnych geograficznych (resources.arcgis.com/en/help/rest/apiref/gcs.html) oraz dla układu współrzędnych prostokątnych (resources.arcgis.com/en/help/rest/apiref/pcs.html). Definiuje następujące pola, wprowadzając swoje wartości atrybutów External i Default:
- triIdTX
- outSR i 102100
- triDescriptionTX
- f i json
Ichiro zapisuje mapę danych.
Krok 3: Definiowanie mapy odpowiedzi
- triGisLongitudeNU
- candidates[0].location.x
- triGisLatitudeNU
- candidates[0].location.y
Ichiro zapisuje mapę odpowiedzi i rekord obiektu integracji.
Krok 4: Wykonanie definicji integracji
- Wartości mapy danych są używane do utworzenia zapytania dynamicznego. Następuje wywołanie zapytania.
- Ponieważ typ POST jest łańcuchem zapytania, każdy wynik z zapytania jest przekształcany na następującą strukturę URL:
Parametry rzeczywiste zależą od danych rzeczywistych w produkcie IBM TRIRIGA.http://geocode.arcgis.com/arcgis/rest/services /World/GeocodeServer/findAddressCandidates?forStorage=true &token=Z43nqkyXY48Kx1iiPgCCZsh7Kf7ZxsKSH4xEO2Q8x34wiHU8wysAljsRzzYI51eg- zAr114CR0vgQ6fUt5a4eatD9FGejE4w8hTBY-f5vy5v1asxh_rXvLZsw6upiRPU &Address=6720+Via+Austi+Pkwy&ZIP=89119&City=Las+Vegas &State=Nevada&outSR=102100&f=json
- Odpowiedź jest wyświetlana w następującym JSON obiekcie:
{ "spatialReference": { "wkid":102100,"latestWkid":3857 }, "candidates": [{ "address":"6720 Via Austi Pky, Las Vegas, NV, 89119", "location": { "x":-12819684.945332458, "y":4309927.0270621451 }, "score":100, "attributes": { } }, { "address":"6720 Via Austi Pky, Las Vegas, NV, 89119", "location": { "x":-12819744.862808136, "y":4309924.3334144857 }, "score":100, "attributes": { } }, { "address":"6721 Via Austi Pky, Las Vegas, NV, 89119", "location": { "x":-12819808.664131654, "y":4309995.0691041043 }, "score":79, "attributes": { } }, { "address":"Via Austi Pky, Las Vegas, NV, 89119", "location": { "x":-12819804.948472099, "y":4309871.0261052754 }, "score":100, "attributes": { } }] }
- Wartości z mapy odpowiedzi służą do wyodrębnienia wartości candidates[0].location.x i candidates[0].location.y z obiektu JSON i odwzorowania ich w polach triGisLongitudeNU i triGisLatitudeNU w rekordzie lokalizacji produktu IBM TRIRIGA. Rekord lokalizacji zostaje zaktualizowany przez nowe dane.
- Ponieważ w sekcji zapytania dot. informacji wychodzących nie określono żadnej czynności dla wyeksportowanych danych, dla danych lokalizacji nie jest wyzwalana żadna czynność.
- Pobierana jest wartość końcowa dla procesu integracji, a następnie tworzony jest rekord historii wykonania, zawierający szczegóły na temat przebiegu integracji i wszystkich błędów, jakie wystąpiły.