Mã hóa địa lý thành một hình dạng thay vì một điểm
Dự án tôi hiện đang làm là Find-A-Record . Chúng tôi đang thu thập mã hóa bộ sưu tập phả hệ và lưu trữ chúng trong một chỉ mục không gian (duyệt qua blog của chúng tôi nếu bạn muốn biết thêm). Tìm kiếm dựa trên một hình dạng. Chúng tôi trả lại các bộ sưu tập giao nhau hoặc được chứa trong khu vực tìm kiếm.
Trong những trạng thái phát triển ban đầu, chúng tôi đã sử dụng tên địa lý cho các bộ sưu tập mã địa lý đến một điểm. Điều này hoạt động tốt cho các bộ sưu tập được liên kết với các cấp hành chính thấp hơn như thành phố, thị trấn và làng. Tuy nhiên, nó thực sự bị phá vỡ khi bạn đạt được cấp quận, tiểu bang và quốc gia.
Cuộc điều tra dân số Hoa Kỳ năm 1940 được liên kết với Hoa Kỳ và sẽ được chỉ định một điểm ở Bắc Kansas. Bất kỳ truy vấn nào ở Hoa Kỳ không gần điểm đó sẽ không trả lại Tổng điều tra dân số Hoa Kỳ năm 1940.
Để giải quyết điều này, chúng ta cần các bộ sưu tập mã địa lý với hình dạng thay vì một điểm.
OSM
OpenStreetMaps có dữ liệu chúng tôi cần, nhưng cực kỳ khó trích xuất. Hệ thống phân cấp hành chính không được lưu trữ rõ ràng. Nominatim được sử dụng để giải quyết vấn đề này cho OSM, một tìm kiếm Nominatim chỉ trả về các tính năng. Vì vậy, một truy vấn cho Knighton trên Teme trả về hai điểm dừng xe buýt nhưng không phải là mối quan hệ ranh giới hành chính.
Các cầu vượt API trông có vẻ đầy hứa hẹn nhưng nó không thể làm trận chuỗi mờ. Cầu vượt chỉ có thể làm các trận đấu chính xác hoặc regex. Chúng tôi có thể sử dụng Overpass nếu có một cách dễ dàng để chuẩn hóa tên địa điểm. Nói cách khác, nếu OSM cung cấp một cách để chúng ta tiêu chuẩn hóa "Hiệp sĩ trên Teme, Worrouershire, Anh" thành "Hiệp sĩ trên Teme CP, Malvern Hills, Worrouershire, West Midlands, Anh, Vương quốc Anh" theo hệ thống phân cấp của OSM phù hợp sẽ không cần thiết.
Tóm lược
Những gì chúng ta cần là một dịch vụ cho phép chúng ta thực hiện tìm kiếm chuỗi mờ cho một địa điểm (hoặc cấp quản trị) và truy xuất ranh giới của nó.
Chúng tôi nhận ra rằng sẽ rất khó để có được dữ liệu ranh giới cho toàn thế giới. Rất may, có lẽ chúng tôi sẽ không cần đến sớm. Chúng tôi chỉ cần dữ liệu cho các khu vực trên thế giới nơi có hồ sơ phả hệ và các nhà phả hệ thực hiện nghiên cứu.
Có vẻ như chúng ta sẽ cần xây dựng dịch vụ của riêng mình, lập chỉ mục OSM theo cách cho phép chúng ta truy vấn các ranh giới quản trị. Nhưng chúng tôi thực sự không muốn. Có cách nào khác để chúng tôi có thể truy xuất dữ liệu này với các dịch vụ hiện có không?