Skip to main content

Normalizador de Direcciones AMBA

Project description

El procedimiento de normalización de direcciones tiene por objetivo unificar la escritura de direcciones con respecto a un callejero de referencia. A su vez ofrece herramientas para consultar de manera transparente la existencia de cruces de calle, calles pertenecientes a partidos, calle con altura con y sin partido determinado. ‘Normalizador de Direcciones AMBA’ es una componente python para normalizar direcciones del AMBA (conurbano y CABA).

Partidos disponibles

Servicio de callejeros: http://servicios.usig.buenosaires.gov.ar/callejero-amba

  • CABA

  • Almirante Brown

  • Avellaneda

  • Berazategui

  • Berisso

  • Cañuelas

  • Ensenada

  • Escobar

  • Esteban Echeverría

  • Ezeiza

  • Florencio Varela

  • General Rodríguez

  • General San Martín

  • Hurlingham

  • Ituzaingó

  • José C. Paz

  • La Matanza

  • Lanús

  • La Plata

  • Lomas de Zamora

  • Malvinas Argentinas

  • Marcos Paz

  • Merlo

  • Moreno

  • Morón

  • Pilar

  • Presidente Perón

  • Quilmes

  • San Fernando

  • San Isidro

  • San Miguel

  • San Vicente

  • Tigre

  • Tres de Febrero

  • Vicente López

Instalación

PyPi

$ pip install usig-normalizador-amba

Git

$ git clone https://github.com/usig/normalizador-amba.git
$ cd normalizador-amba
$ python setup.py install

Easy Install

$ git clone https://github.com/usig/normalizador-amba.git
$ cd normalizador-amba
$ make prepare-package
$ easy_install dist/usig-normalizador-amba-x.x.x.tar.gz

Generación del paquete de instalación

$ make prepare-package

Testing

En el root del proyecto ejecutar:

$ make run-test

Ejemplos

from usig_normalizador_amba import NormalizadorAMBA

nd = NormalizadorAMBA()
str = 'callao y corrientes'
print('A normalizar cruce: ', str)
try:
    res = nd.normalizar(str)
    for r in res:
        print('Nombre calle : ', r.calle.nombre)
        print('Cruce calle: ', r.cruce.nombre)
        print('Altura del cruce: ', r.altura)
        print('Coordenadas: ', r.coordenadas)
        print('Localidad del cruce: ', r.localidad)
        print('Partido del cruce', r.partido.nombre)
        print('___________________')
except Exception as e:
    print('error')
    print('___________________')

Para instanciar el normalizador para algún/os partido/s en particular:

from usig_normalizador_amba import NormalizadorAMBA

str = u'San Martín 153'
cont=0
print('A normalizar en un partido (caba): ',str)
try:
    res = nd.normalizar(str)
    for r in res:
        print('Partido: ', res[cont].partido.nombre)
        print('Localidad: ', res[cont].localidad)
        print('Nombre de la calle: ', res[cont].calle.nombre)
        print('Altura: ', res[cont].altura)
        print('___________________')
        cont += 1
except Exception as e:
    print('error')
    print('___________________')

Para excluir del normalizador algún partido en particular:

from usig_normalizador_amba import NormalizadorAMBA

nd = NormalizadorAMBA(exclude_list=['caba'])  # lista de codigos de partido
str = u'San Martín 153'
cont = 0
print('A normalizar excluyendo un partido (caba): ',str)
try:
    res = nd.normalizar(str)
    for r in res:
        print('Partido: ', res[cont].partido.nombre)
        print('Localidad: ', res[cont].localidad)
        print('Nombre de la calle: ', res[cont].calle.nombre)
        print('Altura: ', res[cont].altura)
        print('___________________')
        cont += 1
except Exception as e:
    print('error')
    print('___________________')

Para buscar una dirección en un texto:

from usig_normalizador_amba import NormalizadorAMBA

def parseText(str):
    nd = NormalizadorAMBA()  # lista de codigos de partido
    res = nd.buscarDireccion(str)
    print('Texto filtrado:',res[0][0]['texto'])
    print('Partido: ',res[0][0]['direcciones'][0].partido.nombre)
    print('Localidad: ', res[0][0]['direcciones'][0].localidad)
    print('Calle: ', res[0][0]['direcciones'][0].calle.nombre)
    print('Altura ', res[0][0]['direcciones'][0].altura)
    print('___________________')

direcciones = [u'Ubicado en Monseñor Alejandro Schell 166, a metros de la estación de Lomas de Zamora.',
    u'ministro brin al 600',
    '9 de julio al 1963',
    'nueve de julio al 700',
    '9 de julio al setecientos',
    '9 de jul 800',
    'calle inventada 1500',
    u'calle ministro brin al 600',
    u'ninguna calle y otra calle']

for direccion in direcciones:
    try:
        parseText(direccion)
    except Exception as e:
        print(e)
        print('___________________')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

usig-normalizador-amba-1.3.0.tar.gz (14.9 kB view details)

Uploaded Source

File details

Details for the file usig-normalizador-amba-1.3.0.tar.gz.

File metadata

  • Download URL: usig-normalizador-amba-1.3.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.6.6

File hashes

Hashes for usig-normalizador-amba-1.3.0.tar.gz
Algorithm Hash digest
SHA256 ba9a2884f1332572fc8e15769c39ec225c936361ded3f9f8119dc2da74db561d
MD5 4afd3c36f4318b14879dc88eb480d9c0
BLAKE2b-256 e45699d9e34c64d06adb06f0b90678f2b9ba70eefb94c13be6b5ffa91ee525d9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page