У меня есть база данных MS SQL с таблицей, в которой хранятся геокодированные местоположения «PICKUP», которые я в конечном итоге могу или не хочу отображать в зависимости от фильтров поиска, которые выбирает пользователь. Они не статичны, как магазины из кирпича и раствора. Их добавляют пользователи приложений 24 часа в сутки. Срок службы "LOAD" составляет менее 24 часов. Как только он был поднят, груз снимается со стола. «НАГРУЗКА» определяется в таблице с некоторыми основными демографическими данными, а также с конкретными LAT и LONG.
Я планирую использовать OpenStreetMaps для предоставления своих базовых карт, а также информации о межштатных автомагистралях. Я планирую использовать OpenLayers для отображения карты в своем веб-приложении.
Водители грузовиков часто называют крупные автомагистрали между штатами «морскими путями». Поэтому я хотел бы, чтобы мои пользователи могли искать «ГРУЗЫ», которые будут проходить вдоль «ДОСТАВКИ», по которой они собираются путешествовать. Например, И-95.
Поэтому, если пользователь выбирает I-95 «Доставка» в качестве фильтра поиска, я хочу, чтобы на карте отображались только «ГРУЗЫ», которые соответствуют следующим критериям:
- «ГРУЗ» находится вдоль определенного судоходного пути.
- «Груз» находится в непосредственной близости от судоходного пути (например, груз находится в 3 милях от шоссе I-95 в Ричмонде, штат Вирджиния). В идеале это должно быть основано на фактическом съезде с межштатной автомагистрали, а не просто случайно где-то вдоль шоссе.
Все это приводит меня к 2 вопросам....
Q1: Когда пользователь отправляет «LOAD» в базу данных, как отскочить LAT и LONG от чего-то (?), чтобы определить, какие «маршруты доставки» (могут быть больше, чем в зависимости от того, где между штатами пересекаются друг с другом) это вдоль? (это также можно было бы сделать во время поиска, но я думаю, что это сэкономит обработку, чтобы определить это заранее, если только это нельзя сделать таким образом.)
Q2: Как узнать, находится ли «ГРУЗ» на Х миль от заданного «маршрута доставки»?