Если у вас есть представление США в виде многоугольника, вы можете использовать алгоритм «точка в многоугольнике», например, тест пересечения чисел , чтобы проверить, находится ли точка внутри многоугольника. или нет. Этот тип запроса выполняется за O(n)
время для многоугольника с n
ребрами.
Если вы хотите что-то более быстрое, но приблизительное, вы можете выполнить (автономно) пространственную декомпозицию своего многоугольника с помощью чего-то вроде квадродерева и определить, какие листовые блоки в дереве лежат в границах. Среднее время выполнения (в режиме онлайн) для поиска вмещающего конечного поля для точки будет тогда O(log(n))
для дерева с n
прямоугольниками.
Надеюсь, это поможет.