Можно ли ускорить запрос «точки внутри одной геометрии» с помощью пространственного индекса? - PullRequest
0 голосов
/ 04 февраля 2020

Я использую SpatiaLite (точнее, его порт WebAssembly Spatia SQL. js) в веб-приложении.

Сценарий использования в этом приложении заключается в том, что пользователь хочет запрашивать геометрию точек (> 500 тыс. Из них, в любой точке мира) против одной (много) геометрии многоугольника, отфильтровывая точки, которые не находятся внутри указанной геометрии.

Я заранее не знаю (много) многоугольника, потому что он получен с помощью механизма c. Это может быть, например, страна, провинция, город или нарисованный от руки пользовательский многоугольник.

Использование простого запроса с функцией SpatiaLite Within прекрасно работает. Производительность также отлично подходит для небольших (много) полигонов, таких как город. Однако при выполнении запросов, скажем, к Австралии (огромный многоугольник, состоящий из множества частей) производительность снижается.

Я привязан к SpatiaLite или пользовательскому решению, потому что большинство пространственных баз данных не могут работать на стороне клиента JavaScript.

Извините, если это очевидный вопрос - до сих пор я не нашел подобных вопросов.

Есть мысли о том, как ускорить это? Некоторая потеря точности допустима.

...