Tìm kiếm cơ sở dữ liệu quốc gia / tiểu bang / thành phố? [đóng cửa]


22

Tôi đang tạo một thư mục sử dụng các vị trí để phân loại tất cả các danh sách. Thay vì dựa vào đầu vào của người dùng, tôi muốn cung cấp một danh sách các vị trí mà người dùng có thể chọn. Tôi đã dùng thử GeoWorldMap được cung cấp bởi GeoBytes nhưng nó có một số vấn đề nhất định. Ví dụ, nó liệt kê 275 quốc gia. Ngoài ra, cơ sở dữ liệu của họ được cập nhật thường xuyên, điều đó có nghĩa là nếu tôi duy trì cơ sở dữ liệu cục bộ, tôi sẽ cần cập nhật nó mỗi giờ và sau đó để đảm bảo cập nhật.

Tôi muốn biết những gì các nhà phát triển sử dụng cho việc này. Thay vì cơ sở dữ liệu, họ có sử dụng một số dịch vụ để lấy danh sách các vị trí không?

Tôi e rằng đầu vào của người dùng thủ công không phải là một tùy chọn mở vì việc phân loại theo vị trí sẽ rất cần thiết vì vậy tôi không thể tin tưởng hoặc dựa vào những gì người dùng nhập thủ công.

Tôi đã thấy một vài trang web làm điều này vì vậy tôi chắc chắn có một giải pháp thực tế ngoài kia.

Câu trả lời:


18

Tôi nghĩ GeoPlanet của Yahoo có thể rất hữu ích cho việc này: họ cung cấp một danh sách đầy đủ các địa điểm và mối quan hệ phân cấp giữa chúng và bạn có thể tải xuống danh sách tên hoặc sử dụng API của chúng.

Các công báo khác (đó là thuật ngữ bạn đang tìm kiếm) bao gồm GeoNames , cũng có dữ liệu có thể tải xuống miễn phí. (Tôi chắc chắn StackOverflow hoặc thậm chí một tìm kiếm Google có thể giúp bạn có thêm tùy chọn trên cùng một dòng.)

Ngoài ra, nếu bạn dự định tạo UI để cho phép người dùng chọn từ danh sách địa điểm của bạn, tôi muốn đề xuất plugin Freebase Đề xuất , một plugin jQuery sẽ buộc người dùng chọn từ một danh mục nhất định (trong trường hợp của bạn, quốc gia, nói) và cung cấp một giao diện người dùng đẹp để chọn từ cơ sở dữ liệu ngữ nghĩa của Freebase cho là chính xác. Nó thậm chí còn cung cấp một số bối cảnh giống như wiki để giúp định hướng.


Phân biệt GeoPlanet. Một trong những điều thú vị về số nhận dạng (ID WOE) trong dữ liệu là chúng được thiết kế để ổn định, do đó bạn sẽ không thấy mình bị xung đột với các bản cập nhật trong tương lai cho DB.
Michal Migurski

1
Cảm ơn đã cung cấp các liên kết. Tôi đã dành rất nhiều thời gian để làm việc với cả hai và thực hiện thành công chúng nhưng bây giờ tôi sẽ bỏ việc. Mọi thứ có vẻ tốt khi có liên quan đến các quốc gia và tiểu bang nhưng cấu trúc được sử dụng cho mọi thứ bên dưới các tiểu bang rất không nhất quán. Tôi không còn thấy nó là thực tế. Một số quốc gia có cả Bang và Thành phố và một số chỉ có Thành phố nhưng thay vì Bang, các quốc gia này có Tỉnh. Tôi đã có ấn tượng rằng đây là cách nó sẽ như thế nào. Nhưng nó không phải là. Các tiểu bang từ Hoa Kỳ giảm khoảng 3 cấp. Mặc dù Atlanta là một thành phố ...

1
ở Georgia, đây là diện mạo của nó: Hoa Kỳ -> Georgia -> Quận Fulton -> Atlanta. Và Quận Fulton không chỉ có Atlanta, nó cũng liệt kê nhiều địa điểm khác và không phải ai trong số họ cũng là thành phố. Nó cũng liệt kê Adamsville ở đó thực sự chỉ là một nơi.

4
Tuyệt đối, đây không phải là những vấn đề đơn giản; hệ thống phân cấp có thể rất phức tạp (và theo một số định nghĩa, không giới hạn) và phụ thuộc vào các chuẩn mực văn hóa và quy định chính phủ khác nhau cũng như các trường hợp sử dụng khác nhau. Tôi khuyên bạn nên xem tài liệu này, có thể giúp ích rất nhiều: developer.yahoo.com/geo/geoplanet/guide/ mẹo Bạn có thể rút ra chỉ các thành phố nếu bạn muốn, hoặc chỉ các bộ phận hành chính. Và tài liệu của Yahoo giải thích các hệ thống phân cấp khác nhau. Tuy nhiên, tôi hiểu sự thất vọng của bạn, nó phức tạp! May mắn nhất!
npdoty

Dữ liệu Yahoo Geoplanet đã bị gỡ bỏ, đây là phiên bản cuối cùng: archive.org/details/geoplanet_data_7.10.0.zip
0fnt


1

Hãy xem GeoDB thành phố . Đây là dịch vụ tôi đã phát triển và lưu trữ bao bọc dữ liệu GeoNames.org trong giao diện REST. Tôi tin rằng nó sẽ cung cấp những gì bạn đang tìm kiếm về mặt dữ liệu ổn định. Không có dữ liệu thành phố cũ nào bị xóa về mặt vật lý, chỉ được đánh dấu như vậy (điều này có thể xảy ra khi làm mới từ GeoNames). Dịch vụ này cũng cho phép bạn hiển thị kết quả thành phố / vùng / quốc gia bằng nhiều ngôn ngữ.

Ví dụ miễn phí là IMO khá hợp lý, nhưng tất nhiên tôi thiên vị.


0

Có nhiều nguồn trả phí và miễn phí cho cơ sở dữ liệu thành phố quốc gia:

  1. GeoNames là dữ liệu miễn phí nhưng rất nhiều dữ liệu. Bạn sẽ phải nhờ trợ giúp của DBA để dọn dẹp dữ liệu. Nhưng đó là một nỗ lực một lần để làm sạch và tải dữ liệu theo yêu cầu của bạn. Tôi đã kết thúc với kích thước tệp 1,3 GB sau khi trích xuất zip và tải dữ liệu này vào DB cũng đòi hỏi một phần cứng mạnh mẽ.
  2. Dữ liệu MaxMind rất cũ và họ đã ngừng cập nhật dữ liệu miễn phí mà họ cung cấp
  3. Dữ liệu GeoDatasource phải trả tiền
  4. Cơ sở dữ liệu thành phố từ http://www.wworldcitiesdatabase.com với chi phí hợp lý.
  5. Sau đó, bạn có thể xem xét các dịch vụ dữ liệu trả phí của MaxMind nhưng chúng rất tốn kém trừ khi ngân sách của bạn rất tốt.

Sự lựa chọn là của bạn. Tôi nghĩ chất lượng dữ liệu có thể khác nhau với mỗi nhà cung cấp ở trên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.