2009-03-07 21 views

Odpowiedz

9

ipinfodb zapewniają bezpłatne dane geolokacyjne dla MySQL. Za pomocą prostego translatora bazy danych można umieścić go w innej bazie danych, ponieważ struktura tabeli jest prosta. Dostarczają również dane w formacie CSV, które łatwiej będzie zaimportować do innego silnika bazy danych.

Dane są oparte na bezpłatnej wersji MaxMind i są aktualizowane co miesiąc. Zapewniają również bezpłatny interfejs API, jeśli nie chcesz przechowywać danych na serwerze. Dokładność jest przyzwoita i wystarczająca do normalnego użytkowania witryny.

+9

nie zapewniają już db –

8

Jeśli trzeba znaleźć lokalizację bieżącego użytkownika na podstawie adresu IP, a następnie możesz wypróbować Google Geolocation API, w szczególności google.loader.ClientLocation.

Sprawdź Dokumentach Google API dla więcej informacji: http://code.google.com/apis/ajax/documentation/#ClientLocation

+1

+1 bo to prawda, ale z mojego doświadczenia bardzo często nie ma pojęcia, gdzie jesteś "od. Przynajmniej mówi ci, kiedy nie wie. Wydaje się być lepszym identyfikatorem obiektów mieszkalnych niż komercyjnych. –

13

Użyłem http://www.maxmind.com/app/geolitecity. Jest to mniej dokładna wersja ich płatnej bazy danych. Bezpłatna baza danych twierdzi, że wynosi "ponad 99,5% na poziomie kraju i 79% na poziomie miasta w USA w promieniu 25 mil". Ich dokładność można zobaczyć pod adresem http://www.maxmind.com/app/geolite_city_accuracy.

Dane są przedstawiane jako plik CSV zawierający początkowy blok IP, blok kończący adres IP i położenie. Łatwo jest załadować do sqlserver.

Interfejsy API w językach C, C#, PHP, Java, Perl i wersji bezpłatnej, GeoLite, oprócz wersji do pobrania do pobrania mają wersję IPv6.

0

-

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

Mają kraje/miasta ddatabase dla Microsoft SQL Server. Oto kod -

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

sprawdzić darmowy bazie światowych miast http://www.sudostuff.com/world-cities-database-8.html

Zawiera miasta, regionu i kraju.

Plik w formacie MySQL do pobrania z trzema tabelami, kraj, region i miasto. Kraj schematu

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'); 
Powiązane problemy