Base de datos con países, provincias y localidades de todo el mundo

Written by Sergi on 22 Junio 2008 – 10:39 am -

Mapa del mundoUno de los problemas de un proyecto Web el cual necesita tener referencias de países, provincias y localidades con la mayor cantidad correcta de registros es, precisamente, encontrar una buena base de datos.

Después de buscar y buscar encontré una URL donde nos ofrecen una base de datos con países, provincias y localidades de todo el mundo (lo del todo no es una afirmación exacta, pero sí aproximada) en ocho idiomas diferentes (Ruso, Inglés, Alemán, Francés, Castellano, Italiano, Portugués y Chino).

A parte de los  más de  200 países, casi 2.000 provincias y sus casi 130.000 localidades, viene acompañado de su posición (latitud y longitud) de Google Maps (aunque no todas son exactas).

Os dejo el enlace con esta base de datos de países, provincias y localidades de todo el mundo.

No he podido dejar referencia del sitio donde la encontré porque la URL hacia el fichero era un servidor de Rapidshare y no mencionaba ninguna otra Web.

Espero que sea de utilidad este listado de países y sus provincias.

Edito: En el listado de países y sus provincias se ha detectado algunas duplicidades en la tabla de localidades (mismo país, misma región, mismo idioma y mismo nombre de localidad con diferente ID). Para solventar esto, he creado un pequeño script PHP:

$sql = "SELECT count(id) as total, localidades.* FROM `localidades` group by id_region, ".
"id_pais, id_idioma, nombre having total > 1";
$contador = 0;
$res = $conexion->db_query($sql);

echo "Total seleccioandas: " . $conexion->db_num_rows($res);
echo "<br>";

while ($row = $conexion->db_fetch_array($res)){
    $sql = "DELETE FROM localidades WHERE id_region = '{$row['id_region']}’ “.
” AND id_pais = ‘{$row['id_pais']}’ AND nombre = \”{$row['nombre']}\” “.
” AND id_idioma = ‘{$row['id_idioma']}’ AND id <> ‘{$row['id']}’”;
    if (!$conexion->db_query($sql)){
        echo $sql.”<br>”.$conexion->db_error().”<br><br>”;
        die;
    }
    else $contador++;
}
echo “Total: $contador”;

Tags: , , , , ,
Posted in Informática, Programación, SQL |

9 Comments to “Base de datos con países, provincias y localidades de todo el mundo”

  1. SEO Says:

    Que de trabajo puede ahorrar esto, habrá que ver como separarla para poder utilizar en cada momento solo lo que necesites, pero pesando 64 megas se hace bastante complicado trabajar con ese archivo SQL.

    Gracias ;)

  2. Sergi Says:

    Bueno, sería importarla entera y ya está :-) luego las peticiones por separado, no?

    (es que no entiendo donde ves el problema)

  3. Marc Says:

    Estoy de acuerdo con Sergi, no se donde ves el problema, este su,inistro es bestial!! lo pienso utilizar en todos mis desarrollos.

    Con webservices te podrás montar un filtro por nombre o por lo que necistes.

  4. stexas Says:

    Aqui te dejo una solución que halle hace ya algun tiempo, muy versatil y con soporte webservice

    Este es el enlace
    http://salvador-gomez.com/weblog/2008/06/geolocalizacion/

  5. Mortanauta Says:

    Muy util, lo importante son los datos, el como aprovecharlos ya es depede lo que nos haga falta

  6. Gorrión Says:

    Chaval, te lo has currao. Gracias por este gesto de generosidad y por compartir tu conocimiento con el resto.

  7. Sergi Says:

    Gracias Gorrión. Aunque solo he puesto al alcance de “todos” una herramienta difícil de encontrar.

  8. luis Says:

    gracias men fue una graaaaaan ayuda

  9. Nacho Says:

    Muy pero muy groso!
    mil gracias, chabón!
    Abrazo,
    Nacho.-

Leave a Comment

RSS

Blog Network: