La entrada manual es difícil porque generalmente requiere una verificación en algún punto del software. Si 5 personas deletrean “Reykjavík” (Islandia) 5 formas diferentes (ya sea debido a un acento de Unicode o faltas de ortografía), puede insertar esto en la base de datos 5 veces diferentes … pero cuando se trata de eso, solo hay una correcta ortografía para el nombre.
Desde la perspectiva de la base de datos:
Para solucionar esto, puede tener una tabla gigante de ubicaciones, es decir, nombres de ciudades, en donde una entrada manual se compara con una fila en una tabla previamente rellenada; o, puede confiar en el usuario, insertar una nueva fila (si no se encuentra) y tratarla más tarde. Los sitios como Linked y Facebook tienen un conjunto “limitado” (todavía enorme) de ubicaciones, y cualquier entrada realmente “manual” de ubicación tendría que ser verificada por un empleado real o mediante métodos programáticos.
Si estuviera diseñando esta función, definitivamente tomaría el enfoque número 1. Le permite refactorizar y “limpiar” su base de datos, independientemente del método elegido. También permite la escalabilidad, en el sentido de que puede agregar continuamente más columnas para cada fila a medida que avanza su aplicación. En última instancia, le permite terminar con una buena fuente de ubicaciones con una fuente extensible de atributos de datos.
Definitivamente incluiría latitud y longitud si está rellenando previamente una tabla. Si estás haciendo una entrada manual … bueno, hay algunos enfoques. Una básica es que necesitará una tabla de “ciudad no verificada”, y después de cierta validación, puede mover esa ubicación ingresada manualmente a la tabla de “ciudad” verificada, donde luego puede completar los atributos de datos correctos de la ciudad verificada.
- ¿Cuáles son las mejores maneras de asegurarme de que me levante a tiempo cada mañana?
- ¿Cuál es la canción más atemporal en el género de la música electrónica de baile?
- ¿Cuáles son los mejores cursos de computación después del 10?
- ¿Cuál es el mejor complemento de directorio de negocios para WordPress?
- ¿Cuáles son las 10 mejores empresas de fabricación de automóviles del mundo y cuáles son sus respectivas obras maestras?
Desde una perspectiva de la interfaz de usuario:
Dependiendo del alcance de mercado de su aplicación, elegiría ciertas ciudades clave, rellenaría previamente una tabla, permitiría a un usuario seleccionar su país, y luego, en función de este país, les proporcionará una lista de ciudades relevantes.
Por ejemplo: Vivo en … Italia.
Bien, dado que vivo en Italia, puedo seleccionar entre:
Milán, Florencia, Siena, Roma, Venecia, Sorrento, etc.
Esta es una buena cantidad de trabajo, pero, de nuevo, el problema que presenta requiere un esfuerzo considerable para hacerlo bien.
Las ubicaciones siempre son un poco complicadas, por lo que, como mínimo, intente dejar una arquitectura que le permita cierta flexibilidad en el futuro (es decir, parece que la solución número 1).
Espero que esto ayude.