Я хочу использовать GeoDjango для базового поиска местоположения. В частности, я хочу дать функции поиска почтовый индекс / город / округ и найти все почтовые индексы / города / графства в течение 5ми, 10ми, 20ми и т. Д. Я нашел следующий абзац в документации:
Использование географической системы координат может создать сложности для разработчика в дальнейшем. Например, PostGIS не имеет возможности выполнять расчеты расстояний между неточечными геометриями, используя географические системы координат, например, создавая запрос для поиска всех точек в пределах 5 миль от границы округа, сохраненной как WGS84. [6]
Что именно это означает, если я хочу использовать PostGIS и иметь возможность выполнять поиск, описанный выше, в США? В документах предлагается использовать проекционную систему координат, чтобы охватить только конкретный регион. Мне нужно охватить всю страну, так что я полагаю, что это не вариант.
По сути, в конце я хочу найти соседние почтовые индексы / города / округа с учетом стартового местоположения и расстояния. Мне все равно, как это делается на техническом уровне.
Также, где я могу найти базу данных, которая содержит географические границы почтовых индексов / городов / округов в США, которые я могу импортировать в модель GeoDjango?
UPDATE
Я нашел базу данных, которая содержит координаты широты и долготы всех почтовых индексов в США здесь . Мой план состоит в том, чтобы импортировать эти точки в модель GeoDjango и использовать PostGis для построения запросов, которые могут найти другие точки в пределах x миль от заданной точки. Это позволяет обойти проблему, поднятую в документации, поскольку все почтовые индексы рассматриваются как точки, а не как многоугольники. Это хорошо для моего случая использования, потому что идеальная точность - это не то, что меня волнует.
Хорошо: файл данных бесплатный
Плохо: это данные переписи 2000 года, поэтому они довольно датированы
Несколько обнадеживающие: Бюро переписей США проводит перепись каждые 10 лет, и это почти 2010
Вывод: для меня это достаточно хорошо