2009-03-07 18 views

Respuesta

9

ipinfodb proporcionan datos de geolocalización gratuitos para MySQL. Con un simple traductor de base de datos, puede colocarlo en una base de datos diferente, ya que la estructura de la tabla es simple. También proporcionan datos en formato CSV, que serán más fáciles de importar a diferentes motor de base de datos.

Los datos se basan en la versión gratuita de MaxMind y se actualizan todos los meses. También proporcionan API gratis, si no desea almacenar los datos en su servidor. La precisión es decente y suficiente para el uso normal del sitio web.

+9

ya no proporcionan la base de datos –

8

Si usted necesita para encontrar la ubicación del usuario actual en función de su dirección IP, puedes probar la API de geolocalización de Google, en particular google.loader.ClientLocation.

Mira la documentación de la API Google para obtener más información: http://code.google.com/apis/ajax/documentation/#ClientLocation

+1

+1 porque eso es correcto, pero en mi experiencia que muy a menudo no tiene idea de donde es de. Al menos te dice cuando no sabe. Parece que es mejor identificar cosas residenciales que comerciales. –

13

he utilizado http://www.maxmind.com/app/geolitecity. Es una versión menos exacta de su base de datos paga. La base de datos gratuita afirma ser "más del 99.5% a nivel de país y del 79% a nivel de ciudad para los EE. UU. Dentro de un radio de 25 millas". Puede ver su precisión detallada en http://www.maxmind.com/app/geolite_city_accuracy.

Los datos se presentan como un archivo CSV que contiene el bloque de IP de inicio, el bloque de IP final y la ubicación. Es bastante fácil de cargar en sqlserver.

Las API en C, C#, PHP, Java, Perl y la versión gratuita, GeoLite, tienen una versión IPv6 además del formato CSV descargable.

0

Ver la base de datos aquí -

http://myip.ms/info/cities_sql_database/World_Cities_SQL_Mysql_Database.html

Tienen países/ciudades ddatabase para Microsoft SQL Server. Aquí código -

CREATE TABLE countries (
    countryID varchar(3) NOT NULL, 
    countryName varchar(52) NOT NULL, 
    localName varchar(45) NOT NULL, 
    webCode varchar(2) NOT NULL, 
    region varchar(26) NOT NULL, 
    continent varchar(15) NOT NULL, 
    latitude float NOT NULL, 
    longitude float NOT NULL, 
    surfaceArea float NOT NULL, 
    population int NOT NULL, 
    PRIMARY KEY (countryID), 
    UNIQUE (webCode), 
    UNIQUE (countryName) 
); 


CREATE TABLE cities (
    cityID int NOT NULL, 
    cityName varchar(50) NOT NULL, 
    stateID int NOT NULL, 
    countryID varchar(3) NOT NULL, 
    latitude float NOT NULL, 
    longitude float NOT NULL, 
    PRIMARY KEY (cityID), 
    UNIQUE (countryID,stateID,cityID) 
); 
0

Marque esta base de datos de ciudades del mundo libre http://www.sudostuff.com/world-cities-database-8.html

Incluye ciudad, región y país.

Archivo de formato MySQL para descargar con tres tablas, país, región y ciudad. esquema País

CREATE TABLE IF NOT EXISTS `country` (
`countryId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
`code` VARCHAR(5) DEFAULT NULL, 
`name` VARCHAR(150) DEFAULT NULL, 
PRIMARY KEY (`countryId`) 
) ENGINE=InnoDB; 

INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(1, 'ad', 'andorra'); 
INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(2, 'ae', 'united arab emirates'); 
INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(3, 'af', 'afghanistan'); 
INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(4, 'ag', 'antigua and barbuda'); 
INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(5, 'ai', 'anguilla'); 
Cuestiones relacionadas