Size: a a a

2020 June 03

f

fr1 in OpenStreetMap RU
Алексей Куликов
Это в БД... Для клиентского скрипта слабо применимо
у меня всё на шарпе, какое ещё бд
источник

АК

Алексей Куликов... in OpenStreetMap RU
Аналог этого индекса я и делал, когда луб росался только вдоль оси, и отрезки строго выше или строго ниже - отсеивались сразу... Как и те отрезки, которые "сзади"
источник

АК

Алексей Куликов... in OpenStreetMap RU
А индекс где реализовывался? как B-Дерево?
источник

D

Dmitry 🇷🇺 in OpenStreetMap RU
fr1
через индекс ты сразу (типа быстро) получаешь линии с которыми пересечёшься, тебе остаётся только узнать сколько их
А как этот индекс строить для многоугольника-области?
источник

f

fr1 in OpenStreetMap RU
индекс для отрезков из 2 точек
источник

АК

Алексей Куликов... in OpenStreetMap RU
Но, метод луча не работает, как только на пересечении попадает вершина :(
источник

АК

Алексей Куликов... in OpenStreetMap RU
А метод обхода и вычисление танценсов углов - тут JavaScript умрёт сразу...
источник

D

Dmitry 🇷🇺 in OpenStreetMap RU
fr1
индекс для отрезков из 2 точек
я не понимаю. объясните мне поподробней. Вот есть область, которая задана кучей отрезков. Это граница области. Как построить индекс, чтобы остались только отрезки, которые этот луч пересекают?
источник

f

fr1 in OpenStreetMap RU
я взял эту из статьи за основу
https://blog.mapbox.com/a-dive-into-spatial-search-algorithms-ebd0c5e39d2a
источник

АК

Алексей Куликов... in OpenStreetMap RU
Отрезок - имеет две точки. Вы строите B-Дерево по этим точкам. И заранее отсекаете те, что не могут быть пересечены.

Поиск по дереву - очень быстр.
источник

АК

Алексей Куликов... in OpenStreetMap RU
Ну и потом на отбор только те отрезки, которые потенциально лежат в прямоугольной области и с которыми Вы уже полноценно вычисляете пересечение
источник

f

fr1 in OpenStreetMap RU
источник

АК

Алексей Куликов... in OpenStreetMap RU
Я эти индексы видел и читал, но на чистом JavaScript это реализовывать тяжко :(
источник

f

fr1 in OpenStreetMap RU
ты строишь коробки для отрезков, поиск по ним быстр. желтая точка и её луч пересекается только с одной коробкой для красной линией. тебе осталось только проверить, пересекается с ней или нет
источник

АК

Алексей Куликов... in OpenStreetMap RU
Поступал проще....
источник

f

fr1 in OpenStreetMap RU
Алексей Куликов
Я эти индексы видел и читал, но на чистом JavaScript это реализовывать тяжко :(
а там что грязный?
источник

АК

Алексей Куликов... in OpenStreetMap RU
Грязный - это наличие новшеств... И фреймфорков.

Мне же надо было что бы работало вообще, с поддержкой IE8
источник

f

fr1 in OpenStreetMap RU
да там нет ничего такого, голая математика
источник

АК

Алексей Куликов... in OpenStreetMap RU
Именно, и в IE8 эта математика ооочень отвратная :(
источник

АК

Алексей Куликов... in OpenStreetMap RU
По скорости, я имею ввиду.
источник