2009-03-07 37 views

Trả lời

9

ipinfodb cung cấp dữ liệu vị trí địa lý miễn phí cho MySQL. Với một trình dịch cơ sở dữ liệu đơn giản, bạn có thể đặt nó vào cơ sở dữ liệu khác nhau, vì cấu trúc bảng đơn giản. Họ cũng cung cấp dữ liệu ở định dạng CSV, sẽ dễ dàng hơn để nhập vào cơ sở dữ liệu khác nhau.

Dữ liệu được dựa trên phiên bản miễn phí của MaxMind và được cập nhật hàng tháng. Họ cũng cung cấp API miễn phí, nếu bạn không muốn lưu trữ dữ liệu trong máy chủ của mình. Độ chính xác là đủ và đủ để sử dụng trang web thông thường.

+9

chúng không còn cung cấp db nữa –

8

Nếu bạn cần tìm vị trí của người dùng hiện dựa trên địa chỉ IP của họ, sau đó bạn có thể thử API vị trí địa lý của Google, cụ thể là google.loader.ClientLocation.

Kiểm tra các tài liệu của Google API để biết thêm: http://code.google.com/apis/ajax/documentation/#ClientLocation

+1

+1 vì đó là đúng, nhưng theo kinh nghiệm của tôi nó rất thường xuyên không có ý tưởng, nơi bạn từ. Ít nhất nó nói với bạn khi nó không biết. Dường như tốt hơn là đánh dấu những thứ dân cư hơn là thương mại. –

13

Tôi đã sử dụng http://www.maxmind.com/app/geolitecity. Đây là phiên bản ít cơ sở dữ liệu trả phí của họ. Cơ sở dữ liệu miễn phí tuyên bố là "trên 99,5% ở cấp quốc gia và 79% ở cấp thành phố cho Hoa Kỳ trong bán kính 25 dặm". Bạn có thể xem độ chính xác của chúng được nêu chi tiết tại http://www.maxmind.com/app/geolite_city_accuracy.

Dữ liệu được trình bày dưới dạng tệp CSV chứa khối IP bắt đầu, kết thúc khối IP và vị trí. Nó rất dễ dàng, đủ để tải vào sqlserver.

API trong C, C#, PHP, Java, Perl và phiên bản miễn phí, GeoLite, có phiên bản IPv6 ngoài định dạng CSV có thể tải xuống.

0

Xem cơ sở dữ liệu này ở đây -

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

Họ có quốc gia/thành phố ddatabase cho Microsoft SQL Server. Đây mã -

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

Kiểm tra miễn phí này các thành phố trên thế giới cơ sở dữ liệu http://www.sudostuff.com/world-cities-database-8.html

Bao gồm thành phố, khu vực và quốc gia.

Tệp định dạng MySQL để tải xuống với ba bảng, quốc gia, khu vực và thành phố. schema Nước

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');