[Talk-ro] Import în masă a localităților (thread #2)

Eddy Petrișor eddy.petrisor at gmail.com
Sun Jul 5 19:36:22 BST 2009


Ioan Indreias a scris:
> Salut Eddy,

Salut,

Am lucrat în weekend la scriptul de import.

Momentan am funcționalitățile:
- descarcă harta în jurul unor coordonate (implicit un pătrat de 10km)
- localizează într-o hartă o localitate cu același nume simplificat cu
cel dorit

Mai rămâne de făcut:
- unirea cu datele existente (local)
- codul de buclare: citirea datelor, trimiterea/actualizarea datelor




Am să continui cu funcția de unificare a datelor într-un nod existent și
apoi am să fac resul de cod. Cum azi am lucrat destul de puțin la cod și
poate n-o să mai fac mare lucru în seara asta, ma aștept să termin cam
marți seara, dacă am puțin noroc și nu apare nimic ciudat la serviciu.





Iată aici o mică demonstrație a codului deja dezvoltat:

pentru un nod existent „Fărcașele”, jud. Olt (a se observa potrivirea cu
„farcasele”):

In [385]: area_xml_string = OsmLocImport.getMapAroundPoint (
lon=24.435989180315492,lat=44.148768483403522 )

In [386]: placelist = OsmLocImport.loacatePlaceInXML ( area_xml_string,
unicode('farcasele', 'utf-8') )

In [387]: placelist
Out[387]:
[{u'changeset': 519290,
  u'id': 346375574,
  u'lat': 44.148460399999998,
  u'lon': 24.4341583,
  u'tag': {u'created_by': u'Potlatch 0.10f',
           u'is_in': u'Olt; Rom\xe2nia',
           u'name': u'F\u0103rca\u0219ele',
           u'place': u'village'},
  u'timestamp': u'2009-02-16T21:58:18Z',
  u'uid': 66944,
  u'user': u'eddyp',
  u'version': 1,
  u'visible': True}]




pentru o localitate scrisă fără diacritice în OSM „Stoenești”[*], jud. Olt:

In [393]: area_xml_string = OsmLocImport.getMapAroundPoint (
24.497197808799143,44.116750822942301 )

In [394]: placelist = OsmLocImport.loacatePlaceInXML ( area_xml_string,
unicode('Stoenești', 'utf-8') )

In [395]: placelist
Out[395]:
[{u'changeset': 1741751,
  u'id': 264493139,
  u'lat': 44.118617200000003,
  u'lon': 24.497794599999999,
  u'tag': {u'addr:postcode': u'237430',
           u'created_by': u'Potlatch 0.10f',
           u'is_in': u'Olt;Romania',
           u'name': u'Stoenesti',
           u'place': u'village'},
  u'timestamp': u'2009-07-05T18:26:03Z',
  u'uid': 66944,
  u'user': u'eddyp',
  u'version': 6,
  u'visible': True}]






pentru un nod inexistent „Oboga”, jud. Olt:

In [388]: area_xml_string = OsmLocImport.getMapAroundPoint (
24.087239915998325,44.424481557058428 )

In [389]: placelist = OsmLocImport.loacatePlaceInXML ( area_xml_string,
unicode('Oboga', 'utf-8') )

In [390]: placelist
Out[390]: []



> Link-ul catre setul de date este
> -> http://earth.unibuc.ro/download/romania-seturi-vectoriale#limita_unitati_relief -
> la sectiunea Localitati (punct)
> 
> <http://earth.unibuc.ro/download/romania-seturi-vectoriale#limita_unitati_relief>Eu
> am lucrat cu seturi de date in format WGS84, csv, UTF-8.


[*] în OSM era introdus ca „Stoienesti” dar am corectat să șterg „i”-ul
în plus; ar fi probabil o idee bună să calculez o distanță lexicală
între cele două denumiri, dar cred că nu are sens să investesc timp în
așa ceva deoarece probabil nu sunt multe cazurile de genul ăsta în țară

-- 
Regards,
EddyP
=============================================
"Imagination is more important than knowledge" A.Einstein

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openstreetmap.org/pipermail/talk-ro/attachments/20090705/216536ac/attachment.pgp>


More information about the Talk-ro mailing list