HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A Microsoft Terra szerverének programozása


Terra Server 1. rész

Példaprogram letöltése

9485 bájt

A Microsoft TerraServer szerver tartalma egy hatalmas adatbázis, amely Észak-Amerika területéről, különböző felbontású műholdas felvételeket tárol. A képek mellett az egyes települések szélességi fok és hosszúsági fok koordinátái is szerepelnek az adatbázisban. Egy kétrészes sorozat keretén belül, készítünk egy Delphi programot, amellyel lekérdezhetjük a települések adatait és a hozzájuk tartozó képeket. Az első részben megnézzük, hogy hogyan tudunk kapcsolatot létesíteni a szerverrel, és hogy hogyan kérdezhetjük le egy megadott területen szereplő települések adatait.

A példaprogram használatához aktív Internet kapcsolat szükséges.
A Microsoft működtet egy TerraServer-nek nevezett szolgáltatást, mely nem más, mint egy hatalmas adatbázis, ami hihetetlen mennyiségű képet és adatot tárol Észak-Amerika területéről.
Ez a szolgáltatás egy WebService formájában is közzétételre került. Felhasználva ezt a WebService-t, saját programunkban igen könnyedén elérhetjük ezt a képes adatbázist. Most az első részben azt nézzük meg, hogy hogyan tudunk kapcsolatot teremteni a szerverrel, és hogy hogyan kérdezhetjük le egy megadott terület adatait.
A szerver a http://terraserver.com címen érhető el. A szerver használatához szükséges információkat a következő weboldalon találjuk:
 http://terraserver.homeadvisor.msn.com/about.aspx
Hozzunk létre egy új Delphi alkalmazást.
Válasszuk a File – New – Other menüpontot. A New Items ablakban válasszuk a WebServices fület, azon belül a WSDL Importer elemet. A megjelenő ablak Location of WSDL File or URL mezőjében adjuk meg az alábbi címet:
http://terraserver.homeadvisor.msn.com/TerraService.asmx?wsdl
A fenti cím tartalmazza a szerver használatához szükséges interfészek és adatszerkezetek adatait. Kattintsunk a Next, majd a Finish feliratú gombokra.
A WSDL Importer egy varázsló, amely lekérdezi a szerver adatszerkezeteit, és a lekért adatokat elmenti egy unit-ba. A unit TerraService néven jön létre.
A Unit1-ben fel kell vennünk a hivatkozást a TerraService unit-ra.
A TerraService egységben megtalálhatjuk a használható osztályokat és adatszerkezeteket. A TerraServiceSoap osztály képezi az interfészt, alkalmazásunk és a szerver között. Hogy könnyedén fel tudjuk építeni ezt a kapcsolatot, egy függvény is a rendelkezésünkre áll. Ez a következő.
function GetTerraServiceSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): TerraServiceSoap;
A Unit1-ben létre kell hoznunk egy változót.
public
    FTerra: TerraServiceSoap;
A Form1 OnCreate eseményben létesítünk kapcsolatot a szerverrel.
FTerra:=GetTerraServiceSoap(False,'',Nil);
A szerverről lekért adatokat a Temp.db nevű adattáblába mentjük el. A tábla Paradox 7 típusú. A következő mezőkkel rendelkezik:
Mezőnév Típus Hossz
City Alpha 50
State Alpha 50
Country Alpha 50
Longitude Number -
Latitude Number -
A Form1-en elhelyeztünk két Edit kompon-enst. Az Edit1 mezőben adjuk meg a lekérdezendő terület nevét, az Edit2-ben pedig a szerverről lekérdezett lista elemeinek maximális számát.
A települések adatainak lekérdezését a Button1 OnClick eseményében hajtjuk végre, a GetPlaceList metódus segítségével.
Places:=FTerra.GetPlaceList(Edit1.Text,UpDown1.Position,True);
A GetPlaceList metódus első paraméterében kell megadnunk a lekérdezendő terület nevét. A második paraméter a lekérdezendő elemek maximális számát határozza meg. A szerveren olyan települések adatai is szerepelnek, amelyekről nem található kép. Ha az utolsó paraméterben True értéket adunk meg, akkor csak olyan települések adatait kérdezzük le, amelyekről kép is található a szerveren.
A Places egy ArrayOfPlaceFacts típusú, dinamikus tömb. A tömb elemein egy for ciklus segítségével könnyedén végigmehetünk. A tömb elemei egyenként PlaceFacts típusúak. A város, az állam és az ország nevét a Place, a koordinátákat a Center property-n keresztül érhetjük el
FieldByName('City').AsString:=Places[i].Place.City;
. . .
FieldByName('Longitude').Value:=Places[i].Center.Lon;
A Lon (Longitude) jelentése hosszúsági fok, a Lat (Latitude) pedig a szélességi fokot jelenti.

Cikksorozat

#IDKategóriaCikk címeSorozat
2535C#Oracle adatbázis-elérés alapjai1. rész
2546C#SQL utasítások végrehajtása2. rész
2557C#Tárolt eljárások és függvények fejlesztése3. rész
2565C#Csomagok fejlesztése4. rész
2573C#Adatbázis triggerek fejlesztése5. rész
2581C#Kivételek kezelése PL/SQL-ben6. rész
3276C#Kurzorok deklarálása PL/SQL-ben7. rész
3297C#Tömb adattípus létrehozása és kezelése PL/SQL-ben8. rész
3326C#Adatbevitel tömb-adattípussal rendelkező oszlopokba9. rész
3357C#Adattárolás beágyazott tábla-típusú oszlopokban10. rész
3388C#Adatok beszúrása beágyazott táblákba11. rész
3418C#Index létrehozása PL/SQL-ben12. rész
3444C#Szekvenciák használata13. rész
3488C#Adatok betöltése állományokból14. rész
1765DelphiOracle adatbázis-elérés alapjai15. rész
1774DelphiSQL utasítások végrehajtása16. rész
1784DelphiTárolt eljárások és függvények fejlesztése17. rész
1794DelphiCsomagok fejlesztése18. rész
1803DelphiAdatbázis triggerek fejlesztése19. rész
1815DelphiKivételek kezelése PL/SQL-ben20. rész
3256DelphiKurzorok deklarálása PL/SQL-ben21. rész
3287DelphiTömb adattípus létrehozása és kezelése PL/SQL-ben22. rész
3318DelphiAdatbevitel tömb-adattípussal rendelkező oszlopokba23. rész
3348DelphiAdattárolás beágyazott tábla típusú oszlopokban24. rész
3377DelphiAdatok beszúrása beágyazott táblákba25. rész
3408DelphiIndex létrehozása PL/SQL-ben26. rész
3436DelphiSzekvenciák használata27. rész
3467DelphiAdatok betöltése állományokból28. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 82. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |