[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