Как найти точки, которые пересекают огибающую линии, а не саму линию? (Конверт геометрии) - PullRequest
0 голосов
/ 10 июня 2010

у меня 2 слоя.Слой линий и слой точек.

Для любой данной линии, как я могу найти точки, которые пересекают огибающую линии, но не саму линию, или, более конкретно, не точку или точкулинии.

Я, очевидно, могу найти все точки, которые пересекают огибающую линии, а затем провести 1 на 1 тест на найденных точках, чтобы увидеть, пересекаются ли они с точками линии, но янадеялся, что есть более простой и быстрый способ сделать что-то в этом роде.

Редактировать:

Конверт или экстент геометрии - это самый маленький прямоугольник (многоугольник с 4 точками), в которомгеометрия (многоугольник, полилиния, линия и т. д.) будет соответствовать.Диаграмма ниже иллюстрирует конверт для многоугольника, но ломаная будет работать аналогично. Конверт http://www.freeimagehosting.net/uploads/cf344d3fe2.jpg

1 Ответ

1 голос
/ 10 июня 2010

Чтобы найти все точки в слое точек, которые не пересекают конечную точку линии в слое линий, я бы сделал следующее:

  1. Создание Dictionary<string,IPoint> точек в слое точек.
  2. Создание Dictionary<string,IPoint> конечных точек в слое линий.
  3. Прокрутка каждого ключа в первом словаре и проверка, существует ли ключ во втором словаре.

Строковый ключ основан на объединении X, запятой и Y.

...