[Talk-cl] Normalización de calles

Marco Antonio marcoantoniofrias en gmail.com
Jue Nov 13 04:52:42 UTC 2014


2014-11-12 16:25 GMT-04:00 "Álvaro Monares G." <amonares en dcc.uchile.cl>:
> Hola, estoy pensando en correr un script que vaya normalizando calles en
> Chile.
> Por ejemplo O'Higgins, que está de varias formas:
> O´Higgins
> O`higgins
> O"Higgins
> O'higgins
>
> ¿Cuál es la ventaja?

Ninguna al menos con esos ejemplos.

Hay que recordar que los datos de OpenStreetMap están gestionados por
el dbms PostgreSQL. Cuando vos haces una búsqueda (usas nominatim) y
se utiliza la "búsqueda de texto completo" en la que se omiten según
idioma (obtenido del navegador) caracteres superfluos, conjunciones y
demás dejando allanado el camino a las palabras raiz. Da lo mismo
buscar por esas variantes ... siempre será ohiggins ante el código.
(1-2-3)

Lo interesante será si buscas "higgins", ahí el motor no encontrará
una palabra raiz y retornará resultados distintos. Nominatim no
corrige palabras mal escritas (4)

Una buena alternativa de solución es utilizar bien las etiquetas name,
official_name, alt_name, y loc_name. En casos que en lo oficial se
escribe con z y la gente busca con s, ejemplo claro en "Rodrigues"
contra "Rodriguez".

> Mejores resultados en la búsqueda de direcciones.

Según teoría mientras más info más posibilidades de encontrar algo,
pero eso depende de los criterios de ponderación del algoritmo. Bien
nos recuerda google con su buscador cuando no quiere que algo se
encuentre, lo unde bien abajo para que nadie lo vea.

Según nominatim (5), las direcciones las calcula según la combinación
entre la etiqueta is_in y el límite de cada objeto (con prioridad eśte
último). Por ello hay gente que dice que colocar is_in y derivados es
redundante (yo concuerdo con ellos) ya que de todos modos se calculará
el límite. Lo que la gente no menciona es que en varios lugares no
tenemos los límites establecidos, entonces así is_in es muy útil.
(Caso crítico en Bolivia).

"Mejores Resultados" puede referirse a "aparecer en los 10 mejores
lugares" y para ello nominatim utiliza mucha heurística en las
búsquedas (7). Recomiendan añadir a ciertos objetos los artículos
wikipedia así tendrán más ponderación. ;-)

"Mejores Resultados" también me sugiere tiempos de respuesta,
entonces, especificar exactamente como está en los datos de OSM será
más óptimo y rápido. Puedes ayudar añadiendo con comas como separados
los nombres de los boundaries (límites) en orden creciente desde
pueblo a país y así limitará las búsquedas y habrá más exactitud.

El último tema pendiente es un pedido de limitar las búsquedas en OSM
por el área que se ve... mucho por hacer.

Abrazos,

Marco Antonio

(1) http://nominatim.openstreetmap.org/search.php?q=O´``Higgins
(2) http://nominatim.openstreetmap.org/search.php?q=OHiggins
(3) http://nominatim.openstreetmap.org/search.php?q=O.Higgins
(4) http://nominatim.openstreetmap.org/search.php?q=Higgins
(5) http://wiki.openstreetmap.org/wiki/Nominatim/FAQ#How_was_the_address_calculated.3F
(7) http://wiki.openstreetmap.org/wiki/Nominatim/FAQ#Why_is_the_place_I.27m_looking_for_not_at_the_top_of_the_list.3F



Más información sobre la lista de distribución Talk-cl