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.

Files for usig-normalizador-amba, version 1.3.0
Filename, size File type Python version Upload date Hashes
Filename, size usig-normalizador-amba-1.3.0.tar.gz (14.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page