Предположим, что у вас есть границы штатов/округов любой страны в текстовом файле следующим образом:найти штат/графство программно, учитывая границы каждой области и широты/долготы
State \t State Name \t Lat/Long of entire State Boundary(comma separated).
Я хочу чтобы сохранить эту информацию в структуре данных **, а затем получить lat-long, получить состояние.
Я не хочу использовать API, и не хочу, чтобы сделать грубую силу подхода (то есть построить полигон для каждого состояния и затем сделать point in polygon алгоритм до попадания)
С моим ограниченным Я думаю, что KD-Trees или R-Trees - это способ сделать это? Хотя оба кажутся хорошим выбором, я не уверен, какой из них использовать. Было бы очень полезно, если вы можете предоставить подробное объяснение - от создания структуры данных до выполнения поиска.
Меня больше интересуют округа, чем государства из-за их более тонкой детализации. Возможно, стоит остановиться на построении дерева с большей степенью детализации, а затем сделать точку в многоугольном подходе для всех графств в этой гранулярности (минимальная ограничивающая область). Концептуально это кажется выполнимым, но я не уверен, как это реализовать.
У меня есть поиск SO и найденные связанные вопросы, и, следовательно, получили идеи о KD-деревьях и R-деревьях, но не о деталях реализации. –
взгляните на функцию пространственной базы данных MySQL [** MBRContains() **] (http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-mysql-specific.html) –
@davidstrachan. Просто делаю это, я думаю, что это будет так же, как подход грубой силы. –