ITI0011-13-HW2-Panoramio: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Ago (arutelu | kaastöö)
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 ...'
 
Ago (arutelu | kaastöö)
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 "bounding box" elemendi "bounds" seest.
Sealt tuleb välja otsida koordinaadid ''bounding box'' elemendi "bounds" seest.


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
<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>


Piltidelt tuleb salvestada nimi, kuupäev ja link.
</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)