ITI0011-13-HW2-Panoramio: erinevus redaktsioonide vahel
Uus lehekülg: 'Tagasi ITI0011 lehele. == Põhiosa == '''Ülesande tekst täpsustub. Kiiremad saavad juba alustada. ''' Kirjutada programm, mis käsurealt ette antud argumenti tõlgendab ...' |
Resümee puudub |
||
| 7. rida: | 7. rida: | ||
Kirjutada programm, mis käsurealt ette antud argumenti tõlgendab geograafilise asukohana (linn/piirkond/riik vms) ning küsib vastava asukoha kohta piltide nimekirja Panoramiost. | Kirjutada programm, mis käsurealt ette antud argumenti tõlgendab geograafilise asukohana (linn/piirkond/riik vms) ning küsib vastava asukoha kohta piltide nimekirja Panoramiost. | ||
Programmile etteantav argument tuleb kõigepealt teisendada geokoordinaatideks. Selleks kasutada Google Maps API-t, näiteks: http://maps.googleapis.com/maps/api/geocode/xml?address=Tallinn&sensor=false | Programmile etteantav argument tuleb kõigepealt teisendada geokoordinaatideks. Selleks kasutada Google Maps API-t, näiteks: http://maps.googleapis.com/maps/api/geocode/xml?address=Tallinn&sensor=false . Täpsemalt võib API kohta lugeda siit: https://developers.google.com/maps/documentation/geocoding/ | ||
Sealt tuleb välja otsida koordinaadid | Sealt tuleb välja otsida koordinaadid ''bounding box'' elemendi "bounds" seest. | ||
<pre> | |||
<GeocodeResponse> | |||
<status>OK</status> | |||
<result> | |||
.. | |||
<geometry> | |||
.. | |||
<bounds> | |||
<southwest><lat>59.3518090</lat><lng>24.5501939</lng></southwest> | |||
<northeast><lat>59.5914239</lat><lng>24.9262889</lng></northeast> | |||
</bounds> | |||
</geometry> | |||
</result> | |||
</GeocodeResponse> | |||
</pre> | |||
Samad koordinaadid tuleb anda ette Panoramio API-le, näiteks: http://www.panoramio.com/map/get_panoramas.php?set=public&from=0&to=20&minx=24.550193&miny=59.351809&maxx=24.9262889&maxy=59.5914239&size=medium&mapfilter=true . Täpsemalt võib Panoramio API kohta lugeda siit: http://www.panoramio.com/api/data/api.html | |||
Panoramio API annab vastuseks JSON formaadis tulemuse. Piltide andmed asuvad "photos" massiivis. Iga pildi kohta tuleb välja parsida ja salvestada pildi nimi (photo_title), pildi tegemise kuupäev (upload_date) ja pildi autor (owner_name). | |||
<pre> | |||
{"count":1875,"has_more":true,"map_location":{"lat":59.438560500000001,"lon":24.752405745157176,"panoramio_zoom":7}, | |||
"photos":[{"height":335,"latitude":59.444141000000002,"longitude":24.765032000000001,"owner_id":6304679, | |||
"owner_name":"Kalev Vask","owner_url":"http://www.panoramio.com/user/6304679", | |||
"photo_file_url":"http://mw2.google.com/mw-panoramio/photos/medium/81410373.jpg","photo_id":81410373, | |||
"photo_title":"Barque Kruzenshtern, Tallinn Maritime days 2011", | |||
"photo_url":"http://www.panoramio.com/photo/81410373","upload_date":"31 October 2012","width":500}, | |||
... | |||
]} | |||
</pre> | |||
Ülesanded (täpsustub): piltide sortimine, cache'imine, unikaalsed pildid (kui küsida näiteks harjumaa ja tallinn, siis programm peab ID järgi cache'ima mittekorduvad pildid) | Ülesanded (täpsustub): piltide sortimine, cache'imine, unikaalsed pildid (kui küsida näiteks harjumaa ja tallinn, siis programm peab ID järgi cache'ima mittekorduvad pildid) | ||
Redaktsioon: 25. september 2013, kell 15:30
Tagasi ITI0011 lehele.
Põhiosa
Ülesande tekst täpsustub. Kiiremad saavad juba alustada.
Kirjutada programm, mis käsurealt ette antud argumenti tõlgendab geograafilise asukohana (linn/piirkond/riik vms) ning küsib vastava asukoha kohta piltide nimekirja Panoramiost.
Programmile etteantav argument tuleb kõigepealt teisendada geokoordinaatideks. Selleks kasutada Google Maps API-t, näiteks: http://maps.googleapis.com/maps/api/geocode/xml?address=Tallinn&sensor=false . Täpsemalt võib API kohta lugeda siit: https://developers.google.com/maps/documentation/geocoding/
Sealt tuleb välja otsida koordinaadid bounding box elemendi "bounds" seest.
<GeocodeResponse>
<status>OK</status>
<result>
..
<geometry>
..
<bounds>
<southwest><lat>59.3518090</lat><lng>24.5501939</lng></southwest>
<northeast><lat>59.5914239</lat><lng>24.9262889</lng></northeast>
</bounds>
</geometry>
</result>
</GeocodeResponse>
Samad koordinaadid tuleb anda ette Panoramio API-le, näiteks: http://www.panoramio.com/map/get_panoramas.php?set=public&from=0&to=20&minx=24.550193&miny=59.351809&maxx=24.9262889&maxy=59.5914239&size=medium&mapfilter=true . Täpsemalt võib Panoramio API kohta lugeda siit: http://www.panoramio.com/api/data/api.html
Panoramio API annab vastuseks JSON formaadis tulemuse. Piltide andmed asuvad "photos" massiivis. Iga pildi kohta tuleb välja parsida ja salvestada pildi nimi (photo_title), pildi tegemise kuupäev (upload_date) ja pildi autor (owner_name).
{"count":1875,"has_more":true,"map_location":{"lat":59.438560500000001,"lon":24.752405745157176,"panoramio_zoom":7},
"photos":[{"height":335,"latitude":59.444141000000002,"longitude":24.765032000000001,"owner_id":6304679,
"owner_name":"Kalev Vask","owner_url":"http://www.panoramio.com/user/6304679",
"photo_file_url":"http://mw2.google.com/mw-panoramio/photos/medium/81410373.jpg","photo_id":81410373,
"photo_title":"Barque Kruzenshtern, Tallinn Maritime days 2011",
"photo_url":"http://www.panoramio.com/photo/81410373","upload_date":"31 October 2012","width":500},
...
]}
Ülesanded (täpsustub): piltide sortimine, cache'imine, unikaalsed pildid (kui küsida näiteks harjumaa ja tallinn, siis programm peab ID järgi cache'ima mittekorduvad pildid)