Как вы можете найти расстояние между почтовыми индексами в C # или SQL Server? - PullRequest
4 голосов
/ 07 февраля 2011

Должен быть стандартный и эффективный способ сделать это, так как это очевидно очень широко используемая функция на многих веб-сайтах.

Ответы [ 3 ]

7 голосов
/ 07 февраля 2011

К сожалению, калькулятор расстояния по почтовому индексу не входит в .NET Framework.Вот некоторые решения по этому поводу

Расчет расстояния между двумя почтовыми индексами в C #

DISTANCE WIZARD API

4 голосов
/ 07 февраля 2011

Я не знаю, что существует "стандартный" способ.

Возможно, существуют существующие службы, которые делают это, и могут быть базы данных, которые вы можете приобрести или получить бесплатно, которые содержат полезные данные, нов зависимости от вашего определения, это может быть нелегко подсчитать.

Подумайте об этом: ваш вопрос может быть истолкован как самое короткое расстояние между двумя точками (обманывает, используя точку вгород, который находится в этом почтовом индексе), или это может быть интерпретировано как расстояние вождения между границей двух границ почтового индекса.Первый расчет довольно прост, но не на 100% точен.Второе - не простая задача.Нахождение кратчайшего расстояния вождения - это одна подзадача, а нахождение ближайших точек на краю нерегулярных границ - еще одна подзадача (или нахождение ближайшего города / известных координат человека, вызывающего объект).

Таким образом, без какой-либо информации о фактической проблеме, которую вы пытаетесь решить, я могу только предположить, что вам все равно, насколько точны ваши данные.В этом случае я предлагаю приобрести базу данных о координатах городов, в которых они находятся, и использовать стандартные вычитания / квадратный корень для определения расстояния (теорема Пифагора).

Если вам все равно, какваши данные точны, я предлагаю вам провести исследование, чтобы найти существующую базу данных или услугу, в которой более точная информация предварительно рассчитана для вас или предназначена для вас.

0 голосов
/ 09 сентября 2011

Я написал скрипт PHP назад, чтобы вычислить расстояние между почтовыми индексами. С тех пор, благодаря многочисленным отзывам пользователей, он был изменен таким образом, чтобы вычисление расстояния фактически выполнялось с помощью SQL-запросов, поскольку это был наиболее эффективный способ сделать это.

Вам нужна таблица с почтовыми индексами и их значениями широты и долготы. Есть бесплатные и коммерческие базы данных с этой информацией, доступной по всей сети.

Взгляните на этот исходный код PHP и посмотрите на метод calcDistanceSql(). Это должно быть достаточно просто, чтобы следовать построенному запросу и реализовать его в SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...