Как определить границы перекрестка: ПДД: границы перекрёстков и проезжих частей

Содержание

Как определить сколько пересечений проезжих частей имеет перекресток

Про пересечение проезжих частей. | Автор топика: Krishanga

Решил все таки сделать документ, который поможет вам правильно определить границы проезжих частей (далее ПЧ) и их количество….

Как вы знаете в ПДД отсутствует определение «ПЕРЕСЕЧЕНИЕ ПРОЕЗЖИХ ЧАСТЕЙ».

Давайте попробуем вывести это определение из тех, что есть в ПДД. Нам потребуется совсем не много определений:
1)«Перекресток» — место пересечения, примыкания или разветвления дорог на одном уровне, ограниченное воображаемыми линиями, соединяющими соответственно противоположные, наиболее удаленные от центра перекрестка начала закруглений проезжих частей. Не считаются перекрестками выезды с прилегающих территорий.
2)«Дорога» — обустроенная или приспособленная и используемая для движения транспортных средств полоса земли либо поверхность искусственного сооружения. Дорога включает в себя одну или несколько проезжих частей, а также трамвайные пути, тротуары, обочины и разделительные полосы при их наличии.

3)«Проезжая часть» — элемент дороги, предназначенный для движения безрельсовых транспортных средств.
Теперь попробуем выделить из этих определений самое главное! Что же мы получим:
Перекресток — место пресечения (возьмем сейчас только пресечение) дорог на одном уравне, ограниченное воображаемыми линиями, соединяющими соответственно противоположные, наиболее удаленные от центра перекрестка начала закруглений проезжих частей.
Дорога включает в себя одну или несколько проезжих частей, а также трамвайные пути, тротуары, обочины и разделительные полосы при их наличии.

Начнем с простейшей ситуации…

две дороги (без разделительных полос и трамвайных путей) пересекаются. Весь вопрос состоит в том, как определить пересечение проезжих частей (далее ППЧ).

Alexander (Humfrid) На данном рисунке мы видим границы перекрестка.
Но только ли границами перекрестка они являются? !
Ответ на этот вопрос прост — то что мы видим в границах данного прекрестка является ни чем иным как ПЧ! т. е. мы получаем участок дороги который является ПЧ и при этом принадлежит обеим дорогам — а это и есть ППЧ!
Из определений перекресток и ПЧ, а так же из чего состоит дорога — мы уже поняли, что даже закругления так же являются ППЧ (не смотря на то, чему вас учат в автошколе).
С этой ситуацией все просто.

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

Alexander (Humfrid) Так же воспользуемся определениями из ПДД! На данном рисунке точно указанны границы перекрестка. Все что мы видим в этих границах — это проезжая часть! Следовательно, можно сделать вывод, что эти границы так же являются границами ППЧ!
Т.е. участок дороги в створе разделительной полосы так же будет являться ПЧ пренадлежащей обеим дорогам. Следовательно создавать единое пересечение ПЧ на данном перекрестке.

Многие задают вопрос — «А зачем тогда сказки про несколько пересечений проезжих чатей? В каком случае их может быть несколько? ! »
Ответ на этот вопрос прост! — Их может быть несколько, но только в том случае, если на самом перекрестке что то сможет их разделить!
Расмотрим самый распространенный случай.
Когда на перекрестке есть ТП (трамвайные пути).

Alexander (Humfrid) Все что мы видим в красной границе — перекресток!
А как определить границы ППЧ на данном перекрестке? !
-Да легко! Вычеркните из этой границы, то что не является ПЧ! А именно трамвайные пути! (это легко сделать, прочитав из чего состоит дорога).

В итоге мы получим вот такие границы ППЧ.

Alexander (Humfrid) Теперь можно примерное определение термина «ПЕРЕСЕЧЕНИЕ ПРОЕЗЖИХ ЧАСТЕЙ» — участок проезжей части, который принадлежит нескольким дорогам.

Maxim (Abhra) Александр Яковлев
В итоге мы получим вот такие границы ППЧ.
============================
А то что находится между ТП чем является и чему принадлежит?

Alexander (Humfrid) Максим, очевидно это является трамвайными путями, которые не являются проезжей части, но входят в границы перекрестка.

Maxim (Abhra) Не, между ТП разных направлений.

Maxim (Abhra) Еще, кстати, не хватает картинки перекрестка с крест-накрест проходящими трамвайными путями.

Alexander (Humfrid) Максим, вы думаете там сделать 3е пересечение? ! )))

Konstantin (Nachum) Максим, это из разряда что между двумя рельсами попутного направления 🙂 Думаю в понятие ТП входят в том числе безопасные боковые интервалы.

Ivan (Shri) Константин, можно обосноваьт так: если бы это было единое целое, оно бы называлось «трамвайный путь» (как, например, железная дорога). А раз «путИ», то, глядя на них, можно сказать, что это именно рельсы 😉 И если между ними — асфальт, предназначенный для двжения безрельсовых ТС, то он является проезжей частью. Если же там шпалы (которые, очевидно, не предназначены для движения безрельсовых), то не является.

Mikhail (Rejinaldo) Не надо ничего придумывать! В ПДД есть понятие проезжей части дороги. А понятия пересечения и объединения множеств, надеюсь, все изучали в средней школе. Надо только напрячь мозги и вспомнить…

Alexander (Humfrid) Михаил, ПЧ — есть. Нокак определить их количество и границы — нет… про школу не надо, т.к. многие не обоснованно привыкли продолжать разделительные полосы на сам перекресток, хотя на нем ни чего не делит проезжую часть одной из дорог на две.

Mikhail (Rejinaldo) Александр, в чём сложность? Есть границы ПЧ до перекрёстка и границы ПЧ после перекрёстка. Трудно провести линии продолжения? Сколько рисунков уже было нарисовано…

Alexander (Humfrid) Михаил, а где написано, что их нужно продлевать? ! и какой дороге будет принадлежать участок ПЧ в створе разделительной? ! Исходя из определения ПЕРЕКРЕСТОК!

Mikhail (Rejinaldo) Александр, а полосы движения Вы на перекрёстке (без разметки и знаков) как определяете?

Sergey (Zepherin) Так, как написано в п. 9.1
А вот про линии продолжения разделительной — это фантазия

Mikhail (Rejinaldo) Сергей, мы не говорим про разделительную. Говорим только про проезжую часть и как её определять.

Alexander (Humfrid) Михаил, а что не может быть ПЧ без полос движения? ! изходя из определения перекрестка мы получаем некий участок земли, принадлежащий обеим дорогам… так вот все что будет находится в этом участке и при этом будет являться ПЧ — будет являться ППЧ (т.е. ПЧ принадлежащей обеим дорогам)

Tags: Как, определить, сколько, пересечений, проезжих, частей, имеет, перекресток

Сколько пересечений проезжих частей имеет этот перекрёсток? Этот вопрос вызывает у Вас затруднение…. Прос…

Авто привоз ПМР | Автор топика: Мастер


Сколько пересечений проезжих частей имеет этот перекресток?
1. Одно.
2. Два.
3. Четыре. Total participants: 2 219 Results after voting 0 1 Answer accepted 0 2 Answer accepted 0 3 Answer accepted #опросы

Владимир (Perkin) 

шахиста (Katarzyna) 

Ольга (Jaqui) 

Viktor (Arvilla) 

Виктор (Saxon) 

Viktor (Arvilla) 

Виктор (Saxon) 

Александр (Geshem) 

Марина Золотарева (Шендерова) 

Вадим (Prentiss) 

Виктор (Saxon) 

Вадим (Prentiss) 

Виктор (Saxon) 

Вадим (Prentiss) 

Вадим (Prentiss) 

Viktor (Arvilla) 

Вадим (Prentiss) 

Viktor (Arvilla) 

Viktor (Arvilla) 

Сколько пересечений проезжих частей на перекрестке .

..

30 мар. 2012 г. — Определение количества пересечений проезжих частей на … полосой 6-2|5-3 имеет две проезжих части, а в разрыве разделительной …

Почему Т-образных перекрестков «НЕ СУЩЕСТВУЕТ» | права на дороге

Двигаясь по дорогам можно встретить разные виды перекрестков от обычных, кода пересекаются две дороги, до сложных где пересекаются 3 и более дорог. Определение перекрестка дано в общих положениях Правил дорожного движения

«Перекресток» — место пересечения, примыкания или разветвления дорог на одном уровне, ограниченное воображаемыми линиями, соединяющими соответственно противоположные, наиболее удаленные от центра перекрестка начала закруглений проезжих частей. Не считаются перекрестками выезды с прилегающих территорий.

Из определения следует, что границы перекрестка это воображаемые линии соединяющие противоположенные закругления.

А теперь посмотрите внимательно на Т-образный перекресток

Как вы уже поняли, у такого перекрестка есть только одно место, где можно соединить воображаемыми линиями противоположенные закругления (на дороге которая примыкает снизу).

На верхней части дороги закруглений нет, соответственно у этого перекрестка и нет границ.

Конечно это все строгое толкование понятия «перекресток» которое дано в ПДД РФ. Но в автошколах нас учили что такой перекресток есть и даже изображали где у него проходят границы

Такого же мнения придерживаются сотрудники ГИБДД разбирая дорожно-транспортные происшествия и суды. То-есть на Т-образном перекрестке границы идут в одном месте от закругления до закругления, а в другом граница идет под прямым углом из начала закругления на противоположенную часть дороги.

Вот такая нелепая ситуация. Все об этом знают уже давно, но вносить изменения в Правила дорожного движения ни кто не собирается.

Если статья была для вас интересной значит вам к нам. Интернет журнал ПРАВА НА ДОРОГЕ, с нами вы всегда будете в курсе всего самого интересного для каждого водителя. Поставьте лайк и вам улыбнется удача.

Перекрестки и прилегающие территории — презентация онлайн

1. Перекрестки и прилегающие территории

2. ПЕРЕКРЕСТКИ

«Перекресток» — это место пересечения, примыкания
или разветвления дорог на одном уровне.
Пересечения, примыкания и разветвления дорог могут
иметь самою различную конфигурацию. Х – образную
(четырех образный перекресток), Т – или У – образную
(трехсторонние перекрестки), круговую (рис. 1. – 3.).
Рис. 1.
Рис. 2.
Рис. 3.
Пересечение дорог на различных уровнях
перекрестком не считается (рис. 4.). Не считается
перекрестками также выезды с прилегающих
территорий.
Рис. 4.
ГРАНИЦЫ ПЕРЕКРЕСТКА
Для того чтобы определить границы перекрестка. Прежде
необходимо найти начала закруглений проезжих частей
дорог, образующий перекресток.
На рис 5. начала закруглений обозначены точками.
Соединим их между собой воображаемыми линиями. Эти
линии и станут границами перекрестка. Правилами
предусмотрены ситуации, когда въезжать на перекресток
(т.е. пересекать его границы) запрещено. Следовательно,
водителю необходимо уметь правильно определить
границы.
Рис. 5.
ПЕРЕСЕЧЕНИЕ ПРОЕЗЖИХ ЧАСТЕЙ НА ПЕРЕКРЕСТКАХ
Чтобы определить границы перекрестка, необходимо
соединить начала закруглений проезжих частей,
находящихся напротив друг друга и образующих данных
перекрестка.
Правила регламентированы случаи, когда водитель
должен определить не только границы перекрестка, но
край проезжий части на перекрестке. Например, при
запрещающем сигнале светофора или регулировщика
при отсутствии стоп – линии (знак 6.16), водитель должен
остановиться на перекрестке перед пересекаемой
проезжей частью.
Пересечение проезжих частей находиться внутри
перекрестка. Перекресток может быть образован как
одним пересечением проезжих частей (рис. 6), так и
несколькими (рис. 7.)
Рис. 6.
Рис. 7.
ПРИЛЕГАЮЩИЕ ТЕРРИТОРИИ.
«Прилегающая территория» — территория,
непосредственно прилегающая к дороге и не
предназначенная для сквозного движения транспортных
средств (дворы, жилые массивы, автостоянки, АЗС,
предприятия и тому подобное (рис.8.). Движение по
прилегающей территории осуществляется в
соответствии с требованиями ПДД.
Рис.8.
Вопрос №1.
Сколько перекрестков изображено на рисунке?
Варианты ответа:
1. Один.
2. Два.
3. Четыре.
Вопрос №2.
Выезд из двора или c другой прилегающей территории:
Варианты ответа:
1. Считается перекрестком равнозначных дорог.
2. Считается перекрестком неравнозначных дорог.
3. Не считается перекрестком.
Вопрос №3.
На каком рисунке изображен перекресток?
Варианты ответа:
1. Только на левом.
2. Только на правом.
3. На обоих.

Точка пересечения: определение и формула — видео и стенограмма урока

Графический поиск точки

Один из способов найти точку пересечения двух линий — это построить график обеих линий и увидеть, где они визуально пересекаются. Например, предположим, что мы пытаемся найти точку пересечения линий y = x + 2 и y = 2 x + 1. Сначала мы изобразим обе линии на одном графике и затем определите точку, в которой они пересекаются.

Точка пересечения двух линий

Здесь мы видим, что две прямые пересекаются в точке (1,3). Недостатком графического определения точки пересечения является то, что есть много места для ошибки. Например, рассмотрим две строки: y = (20/11) x — (16/11) и y = (20/21) x + (4/21).

Пример

Обратите внимание, как кажется, что они пересекаются в точке (2, 2)? На самом деле они пересекаются в точке (1.9, 2). На этом примере легко понять, почему построение графиков не всегда лучший способ найти точку пересечения. Однако это невероятно полезный инструмент для проверки точки пересечения, которую вы уже нашли. Так как же нам точно найти точку пересечения, которую можно проверить с помощью графика? Ответ заключается в том, чтобы найти эту точку алгебраически.

Нахождение точки алгебраически

Когда нам даны два уравнения прямых, мы можем найти точку пересечения этих прямых алгебраически, используя следующие шаги:

  1. Решите каждое из уравнений для y .
  2. Установите два выражения для y равными друг другу и решите для x . Это ваше x -значение точки пересечения.
  3. Подставьте значение x в любое из исходных уравнений и решите относительно y . Это ваше значение y для точки пересечения.

Давайте применим эти шаги, найдя точку пересечения нашего последнего примера, на этот раз алгебраически.Мы хотим найти точку пересечения двух прямых y = (20/11) x — (16/11) и y = (20/21) x + (4/21). Мы можем исключить первый шаг, поскольку оба уравнения уже решены для и . Следующий шаг — установить два выражения для y равными друг другу, а затем решить для x .

(20/11) x — (16/11) = (20/21) x + (4/21) Умножьте обе части на 231, исключая дроби.
420 x — 336 = 220 x + 44 Добавьте 336 с обеих сторон.
420 x = 220 x + 380 Вычтите 220 x с обеих сторон.
200 x = 380 Разделите обе стороны на 200.
x = 380/200 = 1,9 1,9 — это значение x точки пересечения.

Теперь мы подставляем x = 1,9 в любое из исходных уравнений, чтобы найти значение y для точки пересечения. Давайте используем y = (20/11) x — (16/11), но опять же, мы можем использовать любой из них.

y = (20/11) x — (16/11) Вставка x = 1,9 для x .
y = (20 / 11)(1.9) — (16/11) Упростить.
y = (38/11) — (16/11) Дальнейшее упрощение.
y = 22/11 = 2 2 — значение y точки пересечения.

Таким образом, наша точка пересечения — (1.9, 2).

Резюме урока

Точка пересечения двух прямых или кривых — это место, где встречаются две прямые или кривые. Чтобы найти точку пересечения алгебраически, решите каждое уравнение для y , установите два выражения для y равными друг другу, решите для x и вставьте значение x в любое из исходных уравнений, чтобы найдите соответствующее значение y .Значения x и y являются значениями x и y точки пересечения. Вы можете проверить эту точку пересечения, построив график двух уравнений и убедившись, что они действительно пересекаются в этой точке. Возможность найти эту точку чрезвычайно полезна и является отличным инструментом в вашем математическом арсенале.

Быстрое вычисление пересечения границы фотона для моделирования миграции фотонов методом Монте-Карло

1.

Введение

Оптическая визуализация молекул быстро развивается как многообещающая технология в области молекулярной визуализации.Создание математической модели распространения света в биологических средах имеет важное значение в оптической томографии. Диффузное уравнение (DE) обычно используется в качестве математической модели, однако для решения DE требуются определенные граничные условия. 1 , 2 Метод Монте-Карло (MC) является относительно гибким, так как не требует допущения о граничных условиях.

MC в оптическом поле — это в основном статистический метод, который позволяет построить стохастическую модель для моделирования большого количества траекторий распространения света. С тех пор как Уилсон и Адам впервые представили его в области взаимодействия лазера с тканями, 3 , он широко использовался для моделирования распространения света в среде. 4 9 Была проделана большая работа по повышению эффективности моделирования MC для моделирования распространения света в мутной среде. 10 14 На основе информации, полученной в результате однократного моделирования базовой линии MC, были разработаны методы масштабирования для широкого диапазона оптических свойств. 15 , 16 Liebert et al. применил аналогичную концепцию для моделирования флуоресцентной визуализации с временным разрешением в слоистой мутной среде с использованием метода MC. 17 Тем не менее, одиночный процесс MC по-прежнему является наиболее трудоемкой частью из-за большого количества вычислений траектории фотона.

Чтобы повысить эффективность моделирования распространения света с помощью одиночной МК, Wang et al. разработали MC-моделирование передачи фотонов в многослойных тканях (MCML) 18 в 1995 году, в то время как Tinet et al. 10 предложил полуаналитический метод Монте-Карло для распространения света с временным разрешением. Каждая точка взаимодействия фотона, который переносится в среде, вносит непосредственный вклад в область детектора, поэтому для получения заданной точности требуется меньше фотонов, но со сложными вычислениями. Zolek et al. 11 разработал оптимизированный алгоритм MC путем аппроксимации логарифмической и тригонометрической функций. Боас и др. предложила модель на основе вокселей (tMCimg) для улучшения возможностей моделирования мутных структур. 12 Однако Binzoni et al. указал, что модель на основе вокселей (tMCimg) трудно включить точную информацию о границах. 13 Маргалло-Балбас и др., Таким образом, исследовали метод на основе формы (triMC3D) 14 и использовали треугольные сетки для определения сложных граничных структур. Этот метод на основе формы дает более точное описание интерфейса, чем подходы на основе вокселей. Однако в случае сложной геометрии скорость вычислений связана с вычислением пересечения фотона с границей.Чтобы судить, попадает ли фотон в свою границу, метод на основе лучевого треугольника, предложенный Möller et al. 19 часто используется для расчета пересечения границы фотона. 14 , 20 Несмотря на то, что этот метод может сэкономить требуемую память, он должен вычислить пересечение между лучом и каждым треугольником; поэтому на это уходит много времени. Фактически, проверка пересечения между отрезком линии и каждым треугольником может быть проведена перед вычислением пересечения фотона с границей, поскольку следующее положение фотона в световых транспортерах определяется размером шага.Таким образом, пересечение фотона и границы необходимо рассчитывать только в том случае, если пересечение существует внутри треугольника. Если имеется более одного пересечения, это означает, что на отрезке линии имеется много границ. Затем вычисляется только пересечение с минимальным расстоянием до текущего положения фотона. Этот метод более эффективен, чем метод, учитывающий все пересечения фотонов с границами, и позволяет сократить время вычислений.

В этой статье представлен быстрый способ определения пересечения границы фотона в моделировании МК на основе формы.Треугольные сетки используются для описания граничной структуры. Сегмент линии вместо луча 14 , 20 используется для проверки наличия пересечения границы фотона, поскольку пересечение будет вычислено только тогда, когда оно действительно существует. Следовательно, при вычислении пересечения фотона с границей необходимо учитывать только часть треугольников, что значительно сокращает время вычислений. Сначала подробно описываются традиционный метод и предлагаемый метод проверки пересечения в модели MC для распространения света.Затем проверка предложенного алгоритма проводится в полубесконечной среде. Распределение флюенса в среде и отраженный поток фотонов, полученные от MC с помощью предлагаемого метода, сравниваются с полученными из аналитического решения DE и обычного метода MC, соответственно. Наконец, выполняется несколько наборов моделирования MC в различных условиях для проверки вычислительной скорости предлагаемого метода.

Работа организована с использованием традиционного метода на основе лучевого треугольника и предлагаемых методов на основе отрезков прямых и треугольников, описанных в разд.2. В разд. 3, для проверки алгоритма и проверки скорости вычислений проводятся три набора имитационных исследований. Результаты показаны и обсуждаются. В последнем разделе представлено заключение.

2.

Метод

2.1.

Метод на основе луча-треугольника

Луч R (t) с началом O и нормализованным направлением D определяется как:

где t — неизвестное расстояние, на которое проходит луч. А треугольник определяется тремя вершинами V0, V1 и V2.Точка T (u, v) на плоскости, где лежит треугольник, задается как:

Eq. (2)

T (u, v) = (1 − u − v) V0 + uV1 + vV2, где (u, v) — координаты внутри треугольника, удовлетворяющие u≥0, v≥0 и u + v≤ 1. Пересечение луча R (t) и треугольника T (u, v) можно вычислить по формулам. (1) и (2) следующим образом:

Ур. (3)

O + tD = (1 − u − v) V0 + uV1 + vV2.

Переупорядочив формулу, мы можем получить 19

Ур. (4)

[−D, V1 − V0, V2 − V0] [tuv] = O − V0, где D = s / μt · nμ →, s — длина свободного пробега фотона, nμ → — вектор направления миграция фотонов и μt — полный коэффициент взаимодействия, равный сумме коэффициента поглощения и коэффициента рассеяния.Это означает, что t, расстояние от начала луча до точки пересечения, и (u, v), координаты пересечения, можно получить, решив уравнение. (4). 19 Но этот подход требует очень много времени.

Алгоритм пересечения луча и треугольника пытается определить, пересекается ли луч с треугольником. Если расстояние t находится в диапазоне (0,1), пересечение лучевого треугольника находится в пределах расстояния следующего свободного пробега фотона. Кроме того, когда (u, v) удовлетворяет u≥0, v≥0 и u + v≤1, пересечение луча и треугольника находится внутри треугольника. Только когда решение одновременно удовлетворяет этим двум условиям, указанным выше, следующий свободный пробег фотона пересечется с треугольником, определяемым тремя вершинами V0, V1 и V2. В методе на основе лучевого треугольника решение уравнения (4) реализовано как перенос и изменение основания начала координат луча и единичного треугольника. 19 Процедура обычного метода на основе лучевого треугольника при определении того, попадает ли фотон на границу в моделировании MC, была продемонстрирована на блок-схеме, как показано на рис.1.

Рис. 1

Блок-схема метода лучевых треугольников.

2.2.

Метод на основе треугольника и отрезка линии

Однако метод на основе треугольника луча должен учитывать все треугольники при вычислении пересечения, что увеличивает время вычисления. Фактически, когда мы говорим о пути фотона, это скорее отрезок линии, чем луч, поскольку каждый шаг миграции фотона ограничен размером шага, как показано на рис. 2. Воспользовавшись этим, Предлагаемый метод использует отрезок линии вместо луча для вычисления пересечения.Поэтому предлагаемый метод сначала проверяет, существует ли пересечение отрезка-треугольника. Только когда пересечение существует, можно продолжить расчет пересечения.

Рис. 2

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

Стандартное уравнение плоскости, в которой лежит треугольник V0V1V2, задается формулой

Eq.(5)

A · x + B · y + C · z + DD = 0, где (A, B, C) — единичный вектор нормали треугольника, а DD — перпендикулярное расстояние от начала координат до плоскости. Перед началом моделирования переноса фотонов все стандартные уравнения плоскостей, в которых лежат треугольники, решаются и сохраняются.

Путем включения уравнений. (1) и (5) получается следующее уравнение

Ур. (6)

t = −O · (A, B, C) + DDD · (A, B, C), когда t находится в диапазоне (0, 1), отрезок линии пересекает плоскость, в которой треугольник лежит.

Если пересечение действительно существует, следующим шагом будет определение того, находится ли пересечение внутри треугольника. Как показано на рис. 3, предположим, что существует треугольная призма с треугольником, который описывает границу среды, являющейся основанием, и тремя прямоугольными сторонами, перпендикулярными треугольнику, проблема преобразуется, чтобы определить, находится ли точка пересечения внутри треугольной призмы. Если точка пересечения находится внутри треугольной призмы, пересечение также находится внутри треугольника на плоскости.Как показано на рис. 3, два отрезка прямой с одинаковым началом O пересекаются с плоскостью, в которой лежит треугольник (синяя часть), соответственно. Точки пересечения — это P1 и P2, а P2 — это точка, в которой фотон попадает на границу.

Рис. 3

Иллюстрация того, как определить, находится ли пересечение внутри треугольника в предложенном методе.

Уравнения трех прямоугольных сторон определяются соответственно как:

Ур. (7)

S0 · x + S1 · y + S2 · z + S3 = 0S4 · x + S5 · y + S6 · z + S7 = 0S8 · x + S9 · y + S10 · z + S11 = 0, где ( S0, S1, S2), (S4, S5, S6), (S8, S9, S10) — единичный вектор нормали трех сторон прямоугольника соответственно, а S3, S7, S11 — перпендикулярные расстояния от начала координат до каждой плоскости. .Координаты средней точки (x0, y0, z0), которые находятся внутри треугольника, могут быть получены из трех вершин. Точка пересечения (xi, yi, zi) может быть решена путем подстановки t в уравнение. (1). Если условия в формуле. (8) выполнены, пересечение находится внутри треугольной призмы.

Ур. (8)

(S0 · xi + S1 · yi + S2 · zi + S3) · (S0 · x0 + S1 · y0 + S2 · z0 + S3)> 0 (S4 · xi + S5 · yi + S6 · zi + S7) · (S4 · x0 + S5 · y0 + S6 · z0 + S7)> 0 (S8 · xi + S9 · yi + S10 · zi + S11) · (S8 · x0 + S9 · y0 + S10 · z0 + S11 )> 0.

Процедура предложенного метода, основанного на линейном сегменте-треугольнике, при вычислении пересечения фотона с границей при моделировании MC была проиллюстрирована блок-схемой, как показано на рис.4.

Рис. 4

Блок-схема метода линейный сегмент-треугольник.

Подводя итог, можно сказать, что ключевая концепция метода линейный сегмент-треугольник основана на идее, что размер шага может уменьшить возможные треугольники, пересекаемые с траекторией фотона. Кроме того, предложенный алгоритм позволяет вычислить координаты каждого перекрестка с меньшим количеством вычислений. Таким образом, вычислительные затраты предлагаемого метода могут быть значительно сокращены.

Модель МК с предложенным методом написана на языке программирования C и скомпилирована с помощью Microsoft Visual C ++ 6.0. Для сравнения, оба метода MC были выполнены на одной и той же рабочей станции ПК (процессор Intel Xeon 2,00 ГГц, ОЗУ 24 ГБ) и использовали один и тот же компилятор. Аналитическое решение DE рассчитывается с помощью MATLAB 7.6.0.324 (R2008a, The MathWorks). Фазовая функция Хеньи-Гринштейна (HG) используется для выборки направлений рассеяния при моделировании. 20 Уравнения Френеля используются для расчета отражений и преломлений на границах, где возникает несовпадение показателей преломления.Эти внутренние функции такие же, как и в обычном методе MC.

3.

Результаты и обсуждение

3.1.

Валидация алгоритма в полубесконечной среде

В этой работе мы моделировали распространение фотонов в биологической среде, используя хорошо зарекомендовавшие себя процедуры МК. 9 , 10 , 12 , 14 , 21 23 Для проверки предложенного алгоритма в полубесконечном режиме были проведены два набора имитационных исследований. средний в этом разделе.Первая серия имитационных исследований заключалась в сравнении результатов, полученных с помощью предлагаемого метода в моделировании MC, с результатами, полученными из аналитического решения DE. Благодаря диффузионному приближению, 1 , 24 26 симуляции были выполнены в относительно идеальной модели, доступной для DE, чтобы дать аналитическое решение, достаточно точное, чтобы быть стандартом проверки. 12 , 21 , 22 Второй набор должен был проверить предложенный алгоритм путем сравнения результатов с результатами, полученными с помощью обычного метода MC.По сравнению с DE, главное преимущество метода MC состоит в том, что он не требует дополнительных упрощающих предположений. Таким образом, это делает его способным справиться с любой ситуацией. Принимая во внимание затраченное время, второй набор моделирования проводился в однородной среде с той же геометрией и теми же настройками источника, что и в первом наборе моделирования. Оптические свойства устанавливались в соответствии с биологическими тканями. В обоих наборах для моделирования МК было запущено 107 фотонов.

3.1.1.

Сравнение с аналитическим решением DE

Структура среды, используемой в моделировании, представляла собой кубическую модель, поверхность которой описывалась 1794 треугольниками, созданными с помощью коммерчески доступного программного обеспечения COMSOL Multiphysics 3.5 (COMSOL, Inc., Берлингтон, Массачусетс) . Среда имела размер 60 × 60 × 40 мм3 с центром в точке (0,0,0) мм. Оптические параметры однородной среды: коэффициент поглощения μa = 0,005 мм − 1, коэффициент рассеяния μs = 1.00 мм − 1, относительный показатель преломления n = 1,33, коэффициент анизотропии g = 0,1. Окружающая среда — воздух с показателем преломления n = 1. Коллимированный точечный источник был расположен на расстоянии (0,0,20) мм с вектором направления (0,0, −1).

Среда была приблизительно полубесконечной, так как источник находился достаточно далеко от краев. Распределение флюенса в среде и отраженный поток фотонов предложенного метода MC и метода DE сравниваются на рис. 5. Наблюдается приличное согласие между обоими методами.На рис. 5 (b) рассогласование вблизи источника связано с гипотезой изотропного точечного источника в пределах DE. Небольшое несоответствие около края на 30 мм является результатом влияния граничных условий в пределах DE, поскольку различия будут уменьшаться при увеличении среднего размера. 12 , 21

Рис. 5

Сравнение флюенса фотонов и потока фотонов, генерируемых предложенным методом MC и методом DE. (а) Поле плотности энергии в среде каждого метода с контурами, проведенными через каждые 5 дБ в плоскости y = 30 мм.(б) Поток фотонов, покидающих среду. Для оси ординат используется логарифмическая шкала с основанием 10.

3.1.2.

Сравнение с результатами, полученными с помощью обычного метода MC

В этом разделе было проведено сравнение результатов моделирования MC с предложенным методом и с традиционным методом. Сравнение проводилось при тех же настройках, что и в разд. 3.1.1, такие как размер геометрии, псевдослучайный генератор, настройки источника и количество фотонов.Оптические параметры биоткани: коэффициент поглощения μa = 0,005 мм − 1, коэффициент рассеяния μs = 1,00 мм − 1, относительный показатель преломления n = 1,33, коэффициент анизотропии g = 0,9. Окружающей средой служил воздух с показателем преломления n = 1.

Распределение флюенса в среде и отраженный поток фотонов предложенного метода и традиционного метода сравниваются на рис. 6. Наблюдается хорошее согласие между обоими методами. На рис. 6 (а) показан контурный график в плоскости y = 30 мм распределения плотности энергии в среде, полученный каждым методом.Интервал между контурами 5 дБ. Небольшое расхождение связано с количеством фотонов, используемых в моделировании, поскольку метод MC представляет собой статистическую модель, основанную на стохастической природе распространения света. На рис. 6 (б) сравнивается отраженный поток фотонов на поверхности на расстоянии от источника. Следует отметить, что, поскольку оба метода используют поверхностные треугольники в качестве детекторов при моделировании, значение переданного потока для целевой точки получается из ближайших треугольников посредством интерполяции.Это помогает до определенной степени сгладить данные.

Рис. 6

Сравнение плотности потока фотонов и потока фотонов, генерируемых предлагаемым методом МК и обычным методом МК. (а) Поле плотности энергии в среде каждого метода с контурами, проведенными через каждые 5 дБ в плоскости y = 30 мм. (б) Поток фотонов, покидающих среду. Для оси ординат используется логарифмическая шкала с основанием 10.

3.2.

Сравнение времени вычисления в сложной трехмерной геометрии

В следующих экспериментах мы сравнили время вычисления предложенного метода и традиционного метода.В этом моделировании использовалась трехмерная (3-D) геометрическая структура модели мыши, полученная в эксперименте in vivo . В качестве исследуемой области была выбрана часть туловища от окстера до живота модели мыши высотой 40 мм. Геометрия была дискретизирована в COMSOL Multiphysics с использованием треугольных сеток, как показано на рис. 7. Оптические параметры модели мыши были перечислены в таблице 1. Окружающей средой оставался воздух с показателем преломления n = 1.Коллимированный точечный источник располагался на расстоянии (10,0,10) мм с вектором направления (-1,0,0). Помимо геометрии и оптических характеристик среды, общее количество треугольных сеток, описывающих границу модели мыши, также оказало большое влияние на скорость вычислений. В нашем исследовании мы сравнили время вычисления в четырех случаях с различным количеством треугольных ячеек при моделировании с 104 фотонами: TriNum = (4952,5164,6084,13602). Результаты представлены в таблице 2.Мы также сравнили время вычисления традиционного и предлагаемого методов с четырьмя различными числами смоделированных фотонов: PhotNum = (104,105,106,5 × 106), когда использовалось 6084 треугольных сетки. Результаты показаны в Таблице 3. Как показано в Таблицах 2 и 3, время вычислений можно уменьшить на 35–45%, просто заменив традиционный метод предложенным методом в симуляциях MC для распространения света в модели мыши. Предлагаемый метод, основанный на линейном сегменте и треугольнике, эквивалентен традиционному методу на основе лучевого треугольника в математике, который гарантирует точность, но первый из них быстрее, чем второй в моделировании MC на основе формы для распространения света.

Рис. 7

Модель мыши, использованная в симуляции MC.

Таблица 1

Оптические параметры модели мыши.

мкА мкс n G
0,03 мм − 1 1,00 мм − 1 1,33 0,9

Таблица 2

Расчет времени моделирования с разным числом ячеек треугольника и одинаковым числом фотонов (104).

Число сеток треугольников Время вычисления стандартного метода (с) Время вычисления предложенного метода (с) Улучшение в процентах
4952 282 181 35,82%
5164 302 183 39,40%
6084 357 227 36,41%
13602 856 532 856 53285%

Таблица 3

Сравнение времени расчета моделирования Монте-Карло с разным количеством фотонов и одинаковым количеством треугольных ячеек (6084).

Количество фотонов Время вычисления традиционного метода (с) Время вычисления предложенного метода (с) Процентное улучшение
104 357 227 36,41%
105 3913 2457 37.21%
106 39279 24274 38,20%
5 × 106 221150 121489 45.06%

4.

Заключение

предложил метод быстрой фотонной границы в МК-моделировании распространения света в сложной геометрии. Предлагаемый метод использует отрезок линии вместо луча в обычном методе для проверки, существует ли пересечение фотона с границей.Алгоритм MC, использующий предложенный метод, был проверен в полубесконечной среде путем сравнения результатов с результатами аналитического решения DE и с результатами, полученными при моделировании MC с использованием обычного метода. Наконец, время вычисления моделирования MC для распространения света в сложной трехмерной геометрии с использованием предлагаемого метода и обычного метода сравнивается в условиях четырех различных количеств треугольных ячеек и четырех различных наборов смоделированных фотонов.Результаты показывают, что моделирование MC с помощью предлагаемого метода проверки пересечений происходит быстрее, чем с использованием традиционного метода.

В нашей будущей работе модель на основе тетраэдра, представленная в обеих работах. 22 и 23 будут рассмотрены из-за его более высокой эффективности в тесте на перекрестке. Кроме того, аппаратное ускорение на основе графических процессоров (GPU) 19 , 21 , 27 постепенно применяется в моделировании MC.Предлагаемый метод может более значительно ускорить моделирование распространения фотонов с помощью МК при реализации в графическом процессоре. В будущем мы также попробуем применить представленный метод в ускорении на базе графического процессора для моделирования MC.

Благодарности

Эта работа поддержана Национальной программой фундаментальных исследований Китая (973) в рамках гранта № 2011CB707701; Национальный фонд естественных наук Китая (грант № 81071191, 81271617); Национальный проект развития крупной научной аппаратуры и оборудования в рамках гранта №2011YQ030114; Национальная программа поддержки науки и технологий в рамках гранта № 2012BAI23B00.

Ссылки

1.

А. Ишимару, Распространение волн и рассеяние в случайных средах, Academic Press, New York (1978). Google ученый

4.

S. A. Prahlet al., « Модель распространения света в ткани Монте-Карло », Дозиметрия лазерного излучения в медицине и биологии, 102 –111 1989). Google ученый

6.

S. T. Flocket al., « Моделирование распространения света в сильно рассеивающих тканях методом Монте-Карло — I: предсказания модели и сравнение с теорией диффузии », IEEE Trans. Биомед. Eng., 36 (12), 1162 –1168 (1989). http://dx.doi.org/10.1109/TBME.1989.1173624 IEBEAX 0018-9294 Google Scholar

7.

S. T. Flock B. К. Уилсон М. С. Паттерсон, « Моделирование распространения света в сильно рассеивающих тканях методом Монте-Карло — II: сравнение с измерениями на фантомах », IEEE Trans.Биомед. Eng., 36 (12), 1169 –1173 (1989). http://dx.doi.org/10.1109/10.42107 IEBEAX 0018-9294 Google Scholar

9.

S. L. Jacques L. Х. Ван, « Глава 5: Монте-Карло моделирование переноса света в тканях », Оптический тепловой отклик ткани, облученной лазером, Plenum Press, Нью-Йорк (1995). Google ученый

12.

D. A. Boaset al., « Трехмерный код Монте-Карло для миграции фотонов через сложные гетерогенные среды, включая голову взрослого человека », Опт.Экспресс., 10 (3), 159 –170 (2002). http://dx.doi.org/10.1364/OE.10.000159 OPEXFF 1094-4087 Google Scholar

16.

Г. М. Палмер Н. Рамануджам, « Обратная модель на основе Монте-Карло для расчета оптических свойств тканей. Часть I: теория и проверка на синтетических фантомах », Прил. Опт., 45 (5), 1062 –1071 (2006). http://dx.doi.org/10.1364/AO.45.001062 APOPAI 0003-6935 Google Scholar

24.

М. С. Паттерсон Б. Шанс Б. К. Уилсон, « Коэффициент отражения и пропускания с временным разрешением для неинвазивного измерения оптических свойств тканей », Прил. Опт., 28 (12), 2331 –2336 (1989). http://dx.doi.org/10.1364/AO.28.002331 APOPAI 0003-6935 Google Scholar

25.

Т. Дж. Фаррелл М. С. Паттерсон Б. Уилсон, « Теория диффузии модель пространственно разрешенного устойчивого состояния диффузного отражения для неинвазивного определения оптических свойств тканей in vivo », Med.Физ., 19 (4), 879 –888 (1992). http://dx.doi.org/10.1118/1.596777 MPHYA6 0094-2405 Google Scholar

26.

A. KienleM. С. Паттерсон, « Улучшенные решения стационарных и разрешенных по времени диффузионных нюансов для отражения от полубесконечной мутной среды ,» J. Opt. Soc. Ам., 14 (1), 246 –254 (1997). http://dx.doi.org/10.1364/JOSAA.14.000246 JOSAAH 0030-3941 Google Scholar

27.

E. AlerstamT. SvenssonS. Андерсон-Энгельс, « Параллельные вычисления с графическими процессорами для высокоскоростного моделирования миграции фотонов методом Монте-Карло », J. Biomed. Опт. Lett., 13 (6), 060504 (2008). http://dx.doi.org/10.1117/1.3041496 JBOPFO 1083-3668 Google Scholar

Биография

Сяофэнь Чжао получила степень бакалавра биомедицинской инженерии в Университете Цзилинь, Цзилинь, Китай, в 2010 году. В настоящее время она является аспирантом кафедры биомедицинской инженерии Университета Цинхуа, Пекин, Китай.Ее исследовательский интерес — флуоресцентная молекулярная томография для визуализации мелких животных.

Хунъян Лю получила степень бакалавра биомедицинской инженерии в Университете Цинхуа, Пекин, Китай, в 2011 году. Ее научные интересы заключаются в флуоресцентной молекулярной томографии для визуализации мелких животных.

Бинь Чжан получил степень магистра в области машиностроения и электронной инженерии в Китайском университете науки и технологий в 2007 году. С 2007 по 2009 год он был научным сотрудником в Шэньчжэньском институте передовых технологий интеграции Китайской академии наук.Сейчас он является докторантом кафедры биомедицинской инженерии Университета Цинхуа, Пекин, Китай. Его исследовательский интерес сосредоточен на флуоресцентной молекулярной томографии мелких животных.

Фей Лю получила степень бакалавра биомедицинской инженерии в Чжэцзянском университете, Чжэцзян, Китай, в 2008 году. В настоящее время она является кандидатом наук на кафедре биомедицинской инженерии Университета Цинхуа, Пекин, Китай. Ее исследовательский интерес — флуоресцентная молекулярная томография для визуализации мелких животных.

Цзяньвэнь Луо получил степень бакалавра и доктора (с отличием) в области биомедицинской инженерии в Университете Цинхуа, Пекин, Китай, в 2000 и 2005 годах, соответственно. Он был научным сотрудником с докторской степенью с 2005 по 2009 год и младшим научным сотрудником с 2009 по 2011 год на факультете биомедицинской инженерии Колумбийского университета в Нью-Йорке. Он стал профессором Университета Цинхуа в 2011 году и был зачислен в Программу тысячи молодых талантов в 2012 году. Он является членом консультативного редакционного совета журнала «Ультразвук в медицине», заместителем редактора журнала «Медицинская физика» и преподавателем факультета медицины. 1000.Его исследовательские интересы связаны с биомедицинской визуализацией, включая ультразвуковое исследование и визуализацию эластичности.

Цзин Бай получила степень магистра и доктора философии в Университете Дрекселя, Филадельфия, Пенсильвания, в 1983 и 1985 годах, соответственно. С 1985 по 1987 год она была младшим научным сотрудником и доцентом в Институте биомедицинской инженерии и науки Университета Дрекселя. В 1988, 1991 и 2000 годах она стала адъюнкт-профессором, профессором и профессором кафедры Чунг Конг на факультете биомедицинской инженерии Университета Цинхуа, Пекин, Китай.С 1997 года она была младшим редактором журнала IEEE Transactions по информационным технологиям в биомедицине . В настоящее время ее исследовательские интересы включают математическое моделирование и симуляцию сердечно-сосудистой системы, оптимизацию вспомогательных устройств для сердца, медицинский ультразвук, телемедицину, домашнюю сеть здравоохранения и устройства домашнего мониторинга, а также инфракрасную визуализацию. Она является автором или соавтором 10 книг и более 300 журнальных статей.

парные благодаря классификации перекрестка.

Метод разработан для данных, в которых мы можем

ожидать много граничных случаев, участвующих в границе пересечения

. Мы протестировали метод на

примере двух пересекающихся кубоидов, выровненных по краям,

, где каждый сегмент границы пересечения

представляет граничный случай. Мы также протестировали метод

на сцене, состоящей из нескольких Стэнфордских булочек —

nies и Стэнфордских драконов (Levoy et al., 2005) на

демонстрируют правильное поведение метода в более крупной сцене

, содержащей множество границ пересечения.

Наши эксперименты доказали, что метод может найти правильное решение

даже в этих нетривиальных ситуациях.

Правильное поведение метода может быть гарантировано только в том случае, если максимальная ошибка вычисления ε на

меньше, чем самый короткий край сетки. Для мод-

els, которые содержат почти вырожденные ребра, алгоритм

может работать некорректно, потому что ошибка вычисления

может испортить вывод метода.

Поскольку метод работает с одинарной точностью арифметических операций с плавающей точкой

, он может быть реализован на графическом процессоре

, где операции с более высокой точностью могут стоить очень дорого. Преобразование алгоритма

для возможности его запуска на графическом процессоре является одним из возможных способов

для этой работы.

БЛАГОДАРНОСТИ

Работа поддержана проектом SGS-

2016-013 — Advanced Graphical and Computing Sys-

tems.

СПИСОК ЛИТЕРАТУРЫ

и

´

ujar, C., Brunet, P., and Ayala, D. (2002). Топология —

, уменьшающая упрощение поверхности с использованием дискретного твердотельного представления

. ACM Trans. График, 21 (2): 88–105.

Аттене, М. (2010). Облегченный подход к ремонту —

оцифрованных полигональных сеток. Визуальный компьютер,

26 (11): 1393–1406.

Аттене М., Кампен М. и Коббельт Л. (2013). Ремонт угольной сетки Poly-

: перспективы применения.ACM

Вычисл. Surv., 45 (2): 15: 1–15: 33.

Бишофф, С. и Коббельт, Л. (2005). Консервация структуры-

ремонт CAD модели. Форум компьютерной графики,

24 (3): 527–536.

Бишофф, С., Павич, Д., и Коббельт, Л. (2005). Автоматическое восстановление

полигональных моделей. ACM Trans. График,

24 (4): 1332–1352.

Botsch, M., Pauly, M., Kobbelt, L., Alliez, P., L

´

evy, B.,

Bischoff, S. и R

¨

oossl, C. .(2007). Геометрическая модель —

eling на основе многоугольных сеток. Этот документ

поддерживает курс SIGGRAPH 2007.

Brochu, T. и Bridson, R. (2009). Робастные топологические операции для явных динамических поверхностей. SIAM Journal

по научным вычислениям, 31 (4): 2472–2493.

Кристиансен, А. Н., Нобель-Йоргенсен, М., Оге, Н., Sig-

,

mund, О., и Берентцен, Дж. А. (2014). Оптимизация топологии

с использованием явного представления интерфейса.

Struct. Многопрофильный. Оптим., 49 (3): 387–399.

Клаузен, П., Вик, М., Шевчук, Дж. Р., и Обрайен, Дж. Ф.

(2013). Моделирование жидкостей и взаимодействий твердое тело-жидкость с помощью лагранжевых сеток. ACM Trans. График,

32 (2): 17: 1–17: 15.

Edelsbrunner, H. and M

¨

ucke, E. P. (1990). Моделирование простоты

: метод работы с вырожденными случаями

в геометрических алгоритмах. ACM Trans.График,

9 (1): 66–104.

Энрайт Д., Федкив Р., Ферцигер Дж. И Митчелл И. (2002).

Гибридный метод установки уровня частиц для улучшенного захвата интерфейса. Журнал вычислительной физики,

183 (1): 83–116.

Джу Т. (2004). Надежный ремонт полигональных моделей. ACM

Пер. График, 23 (3): 888–895.

Карасик М., Либер Д. и Накман Л. Р. (1991). Ef

простая триангуляция Делоне с использованием рациональной арифметики.

ACM Trans. График, 10 (1): 71–91.

Левой М., Герт Дж., Курлесс Б. и Пулл К. (2005).

Стэнфордский репозиторий 3D-сканирования. http: //

graphics.stanford.edu/data/3Dscanrep/.

Ло, С. и Ван, В. (2004). Быстрый надежный алгоритм для

пересечения триангулированных поверхностей. Разработка

с компьютерами, 20 (1): 11–21.

Маклаурин, Д., Маркум, Д., Ремотиг, М., и Блейдс, E.

(2013). Ремонт неструктурированной треугольной сетки между

секциями.Международный журнал численных методов —

ods in Engineering, 93 (3): 266–275.

Мейстер, Г. Х. (1975). У полигонов есть уши. The American

Mathematical Monthly, 82 (6): 648–651.

Мишталь, М. К. и Берентцен, Дж. А. (2012). Topology-

адаптивное слежение за интерфейсом с помощью деформируемого plicial комплекса sim-

. ACM Trans. График, 31 (3): 24: 1–

24:12.

Murali, T. M. и Funkhouser, T. A. (1997). Консистент-

твердотельных и граничных изображений палатки на основе произвольных полигональных данных

.В Proceedings of the 1997 Sympo-

sium on Interactive 3D Graphics, I3D ’97, pages 155–

ff., New York, NY, USA. ACM.

Нооруддин, Ф. С. и Тюрк, Г. (2003). Упрощение и преобразование пары полигональных моделей

объемными методами.

Транзакции IEEE по визуализации и компьютеру

Графика, 9: 191–205.

Ошер, С. и Федкив, Р. (2002). Методы набора уровней и динамические неявные поверхности Dy-

(Прикладные математические науки-

ences).Springer, издание 2003 г.

Wojtan, C., Th

¨

urey, N., Gross, M., and Turk, G. (2009).

Деформируемые сетки, которые разделяются и объединяются. ACM Trans.

График, 28 (3): 76: 1–76: 10.

Захареску А., Бойер Э. и Хорауд Р. (2011). Topology-

адаптивная деформация сетки для эволюции поверхности, мор-

phing и многовидовая реконструкция. Анализ паттернов —

sis and Machine Intelligence, IEEE Transactions on,

33 (4): 823–837.

GRAPP 2018 — Международная конференция по теории и приложениям компьютерной графики

182

Математика — Пересечение фигур

Пересечение линии

Пересечение двух линий, если они пересекаются, является точкой.

Если у нас есть линии бесконечной длины, они будут пересекаться, если линии не параллельны.

Как лучше всего указать строку? В этом случае мы хотим работать с конечной длиной, поэтому хороший способ указать линию — по ее конечным точкам.Чтобы найти пересечение линий, нам нужно преобразовать это в уравнение прямой: y = a * x + b следующим образом:

Если конечные точки: P1 и P2, то

P1.y = a * P1.x + b
P2.y = a * P2.x + b

заменяя b дает:

P1.y — a * P1.x = P2.y — a * P2.x

a * (P2.x — P1.x) = (P2.y — P1.y)

следовательно:

а = (P2.y — P1.y) / (P2.x — P1.x)

b = (P2.x * P1.y — P1.x * P2.y) / (P2.x — P1.х)

аналогично, если у нас есть вторая линия от P3 до P4, заданная уравнением y = c * x + d,

, то мы можем найти пересечение, решив одновременные уравнения:

у = а * х + б
у = с * х + г

заменяя y дает:

а * х + Ь = с * х + г

х * (а — в) = (г — б)

, следовательно, точка перекрытия:

х = (г — б) / (а — в)

y = (a * d- b * c) / (a ​​- c)

где:

  • a = (P2.y — P1.y) / (P2.x — P1.x)
  • b = (P2.x * P1.y — P1.x * P2.y) / (P2.x — P1.x)
  • c = (P4.y — P3.y) / (P4.x — P3.x)
  • d = (P4.x * P3.y — P3.x * P4.y) / (P4.x — P3.x)

Эти линии перекрываются, если эта точка находится между P1 и P2, а также между P3 и P4.

Ограничивающие круги

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

Это самый простой способ обнаружения столкновений, поскольку окружность не зависит от выравнивания.

Два круга перекрываются, если сумма радиусов больше, чем расстояние между их центрами. Следовательно, по Пифагору мы имеем столкновение, если:

(cx1-cx2) 2 + (cy1-cy2) 2 <(r1 + r2) 2

где:

  • cx1, cy1 = центральные координаты x и y окружности 1
  • cx2, cy2 = координаты центра x и y окружности 2
  • r1 = радиус окружности 1
  • r2 = радиус окружности 2

Треугольники

Пересечение двух треугольников может быть многоугольником с 3–6 сторонами.

Чтобы проверить, действительно ли треугольники перекрываются, нам нужно осмотреть треугольники, чтобы увидеть, есть ли свободное пространство между двумя треугольниками. Чтобы сделать это так, как это может сделать компьютер, мы проецируем все точки обоих треугольников на линию. Если мы можем найти линию, которая имеет точки одного треугольника и одного конца и точки другого треугольника на другом конце, то мы обнаружили зазор между двумя треугольниками, и они не перекрываются.

Как найти ориентацию линии, при которой будет найден зазор (если он существует) между двумя треугольниками? Что ж, мы могли бы попробовать все возможные ориентации от 0 до 360 градусов, но нам не нужно этого делать.Если мы попробуем 6 ориентаций, перпендикулярных сторонам обоих треугольников, это должно получиться.

Треугольник и линия

Ограничивающие прямоугольники

с выравниванием по оси

Как определить, когда эти прямоугольники перекрываются? Если оси прямоугольников выровнены, легко проверить, не перекрываются ли они

без выравнивания по оси

.

Если бы мы проверяли столкновение в физическом мире, мы могли бы обходить объекты, если бы мы могли видеть промежуток между объектами с любого направления, тогда объекты не могли бы перекрываться.

Поскольку объекты прямоугольные, нам нужно проверить только плоскости прямоугольников, что дает нам четыре плоскости для проверки. Мы проецируем угловые точки каждого прямоугольника на каждую линию. Если точки одного прямоугольника находятся на одном конце линии, а другой прямоугольник — на другом конце с промежутком между ними, то объекты не столкнулись. Нам нужно найти только одну линию без перекрытия, чтобы убедиться, что не было столкновения, только если все четыре линии имеют перекрытие, произошло столкновение.

На схеме выше линия в нижнем левом углу не перекрывается.

На этой странице объясняется проецирование на линию. Поскольку нам нужно только знать, как далеко по вектору находится проецируемая точка, все, что нам нужно сделать, это взять скалярное произведение вектора и точки, результатом этого будет скалярная величина, которую мы и хотим.

Чтобы повернуть вектор на 90 градусов, мы просто меняем местами координаты x и y.

В этом примере у нас две машины, ориентация красной (0.6,0,8), а ориентация синего — (-0,6,0,8).

Давайте сначала спроецируем все точки на четыре возможных вектора (вот таблица, которую я использовал для вычисления collision.ods)

Как вы можете видеть, столбец с пометкой «синяя точка» не перекрывается (красные точки больше, чем -1, синие точки меньше -1). Так что машины не перекрывают друг друга. Четвертый столбец также не перекрывается, но нам нужно найти только один, чтобы исключить возможность столкновения.

Расчет плотности пересечения улиц (QGIS3) — Учебные пособия и советы по QGIS

Плотность пересечения улиц — полезный критерий подключения к сети.Можно выделить и объединить перекрестки улиц по регулярной сетке для расчета плотности. Этот анализ обычно используется в транспортном проектировании, а также в городском планировании для определения пешеходной доступности районов. Благодаря доступности глобального набора данных уличной сети из OpenStreetMap и QGIS, мы можем легко рассчитать и визуализировать плотность пересечения для любого региона мира.

Обзор задачи

В этом руководстве мы возьмем данные дорожной сети OpenStreetMap и рассчитаем плотность пересечения улиц для города Ченнаи в Индии.

Другие навыки, которые вы изучите

Получить данные

Мы будем использовать данные из открытых городов, чтобы получить границу города для Ченнаи, а затем данные дорожной сети из OpenStreetMap Data Extracts для Индии.

Скачать Границу города

  1. Посетите веб-сайт opencity и выполните поиск по запросу «Карта приходов Ченнаи».

  1. Щелкните первую ссылку и загрузите данные в формате KML. Отряд Ченнаи-2011.kml будет загружен.

Загрузить дорожную сеть

  1. Посетите сервер загрузки OpenStreetMap Data Extracts от GEOFABRIK. Для этого урока нам нужны данные для города Ченнаи в Индии. Щелкните Азия.

  1. Теперь в субрегионах выберите Индию.

  1. india-latest-free.shp.zip — это файл, который мы ищем, щелкните по нему, чтобы загрузить, эти данные могут быть загружены в других форматах также в соответствии с требованиями.

  1. Это большая загрузка, содержащая отрывок данных по всей стране. Разархивируйте india-latest-free.shp.zip . Вы получите много слоев шейп-файлов.

Подрезать дорожную сеть до границы города

  1. Теперь мы прикрепим слой дорог на уровне страны к интересующей нас области. Откройте QGIS и перетащите Chennai-wards-2011.kml .

  1. Вместо того, чтобы открывать большой слой в QGIS, мы можем напрямую прочитать его с диска и вырезать.Откройте Панель инструментов обработки и найдите алгоритм. Дважды щелкните, чтобы открыть его.

  1. На входном слое выберите и нажмите «Обзор слоя»…

  1. Перейдите в каталог, в который вы загрузили данные OpenStreetMap, и выберите gis_osm_roads_free_1.shp . На слое Overlay выберите New Wards from Oct 2011 . Затем щелкните в Обрезке и выберите Сохранить в файл…, перейдите в папку, в которой вы хотите сохранить результаты, введите имя как chennai_roads.gpkg и щелкните Выполнить.

  1. После завершения обработки в холст будет загружен новый слой chennai_roads .

Для удобства вы можете напрямую загрузить копию вырезанного набора данных по ссылке ниже:

Источник данных: [OPENCITIES] [GEOFABRIK]

Процедура

  1. Теперь оба слоя, используемые для расчета, будут доступны. Если вы загрузили данные, найдите Chennai-Wards-2011.kml и chennai_roads.gpkg в браузере, затем перетащите их на холст.

  1. Первая задача — выделить перекрестки дорог. Это можно сделать с помощью встроенного инструмента «Пересечения линий». Давайте сначала проверим это на небольшом подмножестве, чтобы убедиться, что результаты удовлетворительны. Выберите слой дорог и используйте инструмент Выбрать объекты по площади, чтобы нарисовать прямоугольник и выбрать несколько дорог.

  1. Откройте Панель инструментов обработки и найдите алгоритм.Дважды щелкните, чтобы открыть его.

  1. Выберите chennai_roads как входной слой и как слой пересечения. Убедитесь, что вы отметили только выбранные функции. Щелкните «Выполнить».

  1. Будет добавлен новый слой Перекрестки . Вы заметите, что хотя большинство точек пересечения правильные, есть несколько ложных срабатываний. Это потому, что алгоритм рассматривает пересечения каждого отрезка линии как допустимое пересечение.Но для нашего анализа нам нужно выделить только перекрестки, когда пересекаются 2 или более улиц.

  1. Удалите слой «Пересечения» и нажмите кнопку «Отменить выбор объектов из всех слоев», чтобы удалить выделение. Теперь мы объединим все смежные сегменты дороги, чтобы сегменты между перекрестками были объединены в один объект. Откройте Панель инструментов обработки и найдите алгоритм. Дважды щелкните, чтобы открыть его.

  1. Выберите chennai_roads в качестве входного слоя.Введите имя выходного слоя Dissolved как routes_dissolved.gpkg . Щелкните «Выполнить».

  1. В итоговом слое Roads_dissolved все сегменты дороги объединены в один объект.

  1. Затем откройте Панель инструментов обработки и найдите алгоритм. Дважды щелкните, чтобы открыть его. Выберите слой Roads_dissolved в качестве входного слоя. Введите routes_singleparts.gpkg в качестве выходных данных Отдельные детали.Щелкните «Выполнить».

  1. В результирующем слое Roads_singleparts все смежные сегменты будут объединены, удалите слои Roads_dissolved и chennai_roads . Теперь откройте Панель инструментов обработки и найдите алгоритм. Дважды щелкните, чтобы запустить его.

  1. Выберите routes_singleparts как входной слой, так и слой пересечения. Назовите выходной слой Intersections как Roads_line_intersections.gpkg . Щелкните «Выполнить».

Не

Это ресурсоемкая операция, которая может занять много времени в зависимости от вычислительной мощности вашего компьютера.

  1. В получившемся слое Roads_line_intersections теперь правильно определены все перекрестки. Но это все еще не идеально. Используйте инструмент Выбрать объекты по площади и выберите любое пересечение. Вы увидите, что на каждом пересечении есть несколько повторяющихся точек из соседних сегментов.Если мы будем использовать этот слой для дальнейшего анализа, это приведет к завышенному количеству пересечений. Давайте удалим дубликаты, откроем Инструменты обработки и найдем алгоритм. Выберите Road_line_intersections в качестве входного слоя и введите road_intersections.gpkg в качестве выходного слоя Cleaned. Щелкните «Выполнить».

  1. Новый слой road_intersections содержит правильное количество пересечений дорог, извлеченных из исходного слоя.Щелкните правой кнопкой мыши старый слой road_line_intersections и выберите «Удалить слой», чтобы удалить его.

  1. Теперь мы вычислим плотность точек путем наложения регулярной сетки и подсчета точек в каждом многоугольнике сетки. Мы должны перепроецировать данные в проектируемую CRS, чтобы мы могли использовать линейные единицы измерения. Мы можем использовать соответствующую CRS на основе зоны UTM, в которой расположен город. Вы можете увидеть карту UTM Grid Zones of the World на карте, чтобы определить зону UTM для вашего города.Ченнаи попадает в зону UTM 44N . Откройте Панель инструментов обработки и найдите алгоритм. Дважды щелкните, чтобы открыть его.

  1. Выберите road_intersections в качестве входного слоя. Для поиска щелкните значок глобуса рядом с Target CRS и выберите EPSG: 32664 - WGS 84 / UTM zone 44N . Это CRS на основе данных WGS84 для зоны UTM 44N . Введите перепроецированный выходной слой как road_intersections_reprojected.gpkg . Щелкните «Выполнить».

  1. После завершения обработки и добавления слоя road_intersections_reprojected щелкните правой кнопкой мыши и выберите «Слой». И удалите слой road_intersections .

  1. Project CRS будет обновлен в правом нижнем углу окна. Цель этого шага — убедиться, что все слои отображаются в CRS нового слоя. Теперь мы готовы создать сетку, используя road_intersections_reprojected в качестве образца.Откройте Панель инструментов обработки и найдите алгоритм. Дважды щелкните, чтобы открыть.

  1. Выберите тип сетки «Прямоугольник (многоугольник)». Нажмите кнопку ... в экстенте сетки и выберите.

  1. Выберите Project CRS в качестве CRS сетки. Мы хотим создать сетку размером 1км x 1км, поэтому установите для Горизонтального и Вертикального интервалов 1000 метров. Сохраните выходной слой Grid как сетку .gpkg . Щелкните «Выполнить».

  1. Будет создан слой сетки , содержащий прямоугольные многоугольники сетки. Теперь мы можем подсчитать количество точек в каждом многоугольнике, но, поскольку наши слои большие, этот процесс может занять много времени. Один из способов ускорить пространственные операции - использовать пространственный индекс . Откройте Панель инструментов обработки и найдите алгоритм. Дважды щелкните, чтобы открыть его.

  1. Выберите слой grid и нажмите Run, теперь слой будет иметь пространственный индекс, который может повысить производительность вычислений с этим слоем.

  1. Откройте Панель инструментов обработки и найдите алгоритм.

  1. Выберите сетку в качестве слоя «Многоугольник» и road_intersections_reprojected в качестве слоя точек. Сохраните выходной слой Count как grid_count.gpkg . Щелкните "Выполнить".

  1. Результирующий слой grid_count будет иметь атрибут NUMPOINTS, который содержит количество точек пересечения в каждой сетке.Есть много сеток с 0 точками. Это поможет нашему анализу и визуализации удалить многоугольники сетки, не содержащие пересечений. Откройте Панель инструментов обработки и найдите алгоритм.

  1. Выберите grid_count в качестве входного слоя, затем выберите NUMPOINTS в атрибуте Selection, > в Operator и введите 0 в качестве Value. Сохраните выходной слой Извлеченный (атрибут) как grid_counts_chennai.gpkg . Щелкните "Выполнить".

  1. Результирующий слой grid_counts_chennai будет иметь многоугольники сетки над городом Ченнаи и содержать количество пересечений дорог в качестве атрибута для каждого многоугольника. Удалите все слои, кроме grid_counts_chennai .

  1. Давайте очистим таблицу атрибутов нашего уровня данных. Предпочтительный метод внесения каких-либо изменений в таблицу атрибутов - использовать алгоритм обработки под названием Refactor Fields, открыть Панель инструментов обработки и найти алгоритм.Дважды щелкните, чтобы открыть его. Щелкните любую строку в разделе «Сопоставление полей», чтобы выбрать ее. Вы можете удерживать клавишу Shift , чтобы выбрать несколько строк, выберите все поля, кроме fid и NUMPOINTS. Нажмите кнопку Удалить выбранные поля.

  1. Переименуйте поле NUMPOINTS в crossction_de density и сохраните слой как road_intersection_de density.gpkg , нажмите «Выполнить».

  1. Давайте настроим этот слой, чтобы увидеть плотность каждой сетки, выберите слой road_intersection_de density и нажмите «Открыть панель стилей слоя».Выберите Graduated Renderer и в Values ​​выберите Intersection Density, цветовую шкалу по вашему выбору, установите классы на 7 и нажмите Classify.

  1. В значениях введите 0-50 , 50-100 , 100-150 и так далее до 300-350 . Вы создали карту, показывающую плотность перекрестков по всему городу.

Пожалуйста, включите JavaScript, чтобы просматривать комментарии от Disqus.комментарии предоставлены

Геокодирование свойств неразглашения информации до ближайших пересечений

В некоторых случаях адрес объявления не может быть раскрыт на таком сайте, как Trulia. Мы уважаем это, но мы по-прежнему хотим, чтобы наши потребители видели все активные списки, поэтому у нас есть обходной путь. Вместо того, чтобы указывать точное местоположение того, что мы называем "закрытой" записью на наших картах, мы показываем ближайший к ней перекресток улиц.

Обычно мы геокодируем все адреса. Геокодирование - это процесс преобразования адреса в координаты широты и долготы, который позволяет отображать адрес на карте.Однако свойства неразглашения не следует точно геокодировать, поскольку точные геокоды могут быть преобразованы в адреса. Вместо этого мы вычисляем ближайшую к объекту точку пересечения улиц и показываем ее конечному пользователю. Посмотрите, как Trulia вычисляет ближайшее пересечение с заданной точкой.

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

Диапазоны адресов указывают начальный и конечный первичный номер для данного сегмента линии улицы, который вы можете видеть на рисунке ниже.

Иллюстрация диапазона адресов, любезно предоставлена ​​переписью США.

Чтобы вычислить пересечение, мы сначала вычисляем набор пересекающихся округов (округов, границы которых соприкасаются) для данного исходного округа. Нам нужно учитывать пересекающиеся округа, потому что ближайший перекресток может попасть в соседний округ, город или почтовый индекс. Для каждого диапазона исходных адресов в исходном округе мы находим возможные целевые пересекающиеся диапазоны.Целевой диапазон пересечения идентифицируется как линия, пересекающаяся с исходным диапазоном. Например, на скриншоте ниже есть четыре граничных записи для перекрестков между Первой улицей и Миссионерской улицей в Сан-Франциско. Каждая запись диапазона адресов от источника к диапазону адресов называется EdgeRecordSet. Эти EdgeRecordSets хранятся в файлах avro (avro - это компактный двоичный формат данных, который широко используется в системах больших данных).

Пример EdgeRecordSets

После того, как все наборы EdgeRecord сгенерированы, функции каждого диапазона адресов источника и назначения дедуплицируются и сохраняются в индексе Lucene.Дедупликация требуется, потому что каждый диапазон адресов от источника до записи края диапазона адресов будет сгенерирован два раза: один раз при генерации записей края для диапазона адресов источника и один раз при генерации записей края для диапазона адресов назначения. Дублирование приведет к удвоению размера памяти, и, поскольку у нас ограниченный объем памяти на серверных ящиках, мы хотим максимально уменьшить размер индекса.

Затем индекс

Lucene используется как часть вызова API, принимающего широту и долготу.Вызов выполняет пространственный поиск Lucene для запроса всех EdgeRecordSet с границами в радиусе 1 км от данной точки (широта, долгота). Затем эти EdgeRecordSets сортируются по расстоянию и выбирается ближайшая точка. Выбранная точка является ближайшим перекрестком и используется для обозначения на карте свойства о неразглашении информации. На приведенной ниже диаграмме показано перекресток для данной собственности:

Пример точки пересечения для данного адреса.

В результате геокодирования до ближайшего перекрестка мы можем гарантировать, что потребители увидят все действительные объявления на наших картах, даже если они не разглашаются, что помогает им легко найти то, что они ищут.

сравнение часто используемых инструментов наложения

В блоге о распределении данных и анализе я показал использование инструмента Табулировать пересечения для наложения археологических памятников и земельных участков для создания таблицы, содержащей информацию о каждом участке в пределах археологического объекта. На рисунке 1 показаны данные и результаты Tabulate Intersection. Это "какие сайты на какие участки накладываются?" вопрос - это классический оверлейный запрос. Эти типы запросов являются основой географического анализа.

Рисунок 1: Карта участков и участков и выходные данные таблицы из таблицы пересечения. В этой таблице SID - это идентификатор сайта, PID - это идентификатор участка, а STATUS - это атрибут на уровне участков. ПЛОЩАДЬ указывается в гектарах, а ПРОЦЕНТ - это процент покрытия участка участком. Для SID PERCENTAGE в сумме дает 100

.

В ArcGIS есть несколько инструментов, отвечающих на запросы наложения, но между ними есть тонкие и важные различия. Фактически, исследуя мою предыдущую запись в блоге, наш клиент указал на некоторые различия, о которых я не знал.Именно тогда я решил, что обзор и сравнение некоторых возможностей наложения в ArcGIS послужат хорошей серией блогов.

Загрузить примеры моделей

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

Контекст: создание таблицы табуляции с помощью других инструментов

Контекст этого блога исходит из следующего вопроса: «Табулирование пересечений доступно только с расширенной лицензией, которой у меня нет.Кроме того, это новый инструмент версии 10.1, который я еще не установил. Я попытался получить таблицу табуляции с помощью других инструментов, но безуспешно. Могу ли я создать вывод таблицы табуляции с помощью Tabulate Intersection с помощью других инструментов? »

В таблице ниже перечислены четыре инструмента, наиболее часто используемых для запросов наложения. Все они работают с базовой или стандартной лицензией. В оставшейся части этого блога я рассмотрю использование этих четырех инструментов для создания таблицы табуляции (результат Tabulate Intersection).Столбец Sample Model содержит название модели, найденной в загрузке, которая демонстрирует использование инструмента.

Имя Тип инструмента Наличие Образец модели
Пересечение Инструмент геообработки: набор инструментов "Анализ"> Набор инструментов "Наложение" Все уровни лицензий, но с лицензиями Basic и Standard одновременно могут пересекаться только два уровня. Использование пересечения
Выбрать по местонахождению Инструмент ArcMap: в главном меню ArcMap щелкните Выделение> Выбрать по местоположению. Все уровни лицензий.
Выбрать слой по расположению Инструмент геообработки: набор инструментов «Управление данными»> набор инструментов «Слои и представления таблиц». Этот инструмент выполняет ту же работу, что и «Выбрать по местоположению» выше. Используется в ModelBuilder. Все уровни лицензии Использование выбора слоя по расположению
Пространственное соединение Инструмент геообработки: набор инструментов "Анализ"> Набор инструментов "Наложение" Все уровни лицензии Использование пространственного соединения

Дедушка всех - инструмент Intersect

Всякий раз, когда у вас есть запрос наложения, первое, что вам следует подумать об использовании, - это Intersect.Из всех перечисленных выше инструментов это единственный инструмент, который создает новые объекты на основе геометрического пересечения входных объектов. Новые функции имеют правильную область пересечения, что означает, что мы можем вычислить поля AREA и PERCENT, показанные на рисунке 1. Кроме того, Intersect может распределять любой атрибут в зависимости от площади.
Ниже приведены результаты Intersect для одного из сайтов, Ar_8496. Левый рисунок (A) показывает исходную геометрию, выводимую Intersect. Правый рисунок (B) показывает выходные характеристики по отношению к участкам, показывая метки PID (Parcel ID) и SID (Site ID), а также части участков как внутри, так и за пределами участка Ar_8496.

Рисунок 2: Использование инструмента «Пересечение».

Рисунок 3: Таблица атрибутов для выходных данных Intersect

Вот несколько примечаний о полях таблицы вывода:

  • FID_Sites - это OBJECTID многоугольника в слое сайтов, а SID - это уникальный идентификатор сайта для многоугольника. Поскольку многие участки пересекают один участок, в этих полях есть повторяющиеся значения.
  • FID_Parcels - это OBJECTID участка, который пересекает многоугольник участка, а PID - это уникальный идентификатор участка.Для участка Ar_8496 существует 10 уникальных участков, которые он пересекает.
  • СОСТОЯНИЕ - это поле на слое участков.
  • Shape_Area и Shape_Length - это вычисленная площадь и длина границы многоугольников, созданных с помощью Intersect. Единицы этих двух полей наследуются от первого входного слоя. В данном случае это футы.

В приведенной выше таблице содержится вся необходимая информация для создания таблицы табуляции, показанной на Рисунке 1 - это просто требует небольшой работы, которую инструмент Табулировать пересечение выполняет за вас.Модель Using Intersect , доступная для загрузки, показывает, как это делается, и выводит таблицу, идентичную таблице на рисунке 1. Вкратце, вот шаги для преобразования вышеприведенной таблицы в вывод таблицы табуляции с помощью Tabulate Intersection:

Выбрать по местоположению

«Выбрать по местоположению» доступен в меню «Выбор» в ArcMap и часто используется для ответа на запросы наложения. Можно ли использовать его для создания того же вывода, что и пересечение таблиц? Короткий ответ - нет. Выбор по местоположению выбирает целых участков и не разделяет участки на основе части, находящейся внутри многоугольника.Это означает, что вы не можете получить истинную площадь пересечения, как при использовании Intersect. Следовательно, вы не можете вычислить поля AREA и PERCENTAGE, выводимые с помощью Tabulate Intersection.
Однако «Выбрать по местоположению» действительно позволяет получить список участков, перекрывающих участки (он просто не может вычислить площадь). Но стоит обратить особое внимание на метод пространственного выделения. На рисунке 5 показано диалоговое окно «Выбрать по местоположению» с использованием метода пространственного выбора «пересечь исходный векторный слой».

Рисунок 5: Использование Select By Location

Обратите внимание, что на рисунке 5 выбран участок p127. Это интересно, потому что участок p127 не был включен в вывод инструмента Intersect. Что касается инструмента «Пересечение», p127 не пересекает Ar_8496.

Почему есть разница? Ответ кроется в методах пространственного выбора, используемых Select By Location. Эти методы основаны на наборе правил проверки пространственных отношений, известных как правила Клементини.В этом наборе правил объекты, границы которых соприкасаются, считаются пересекающимися. Инструмент «Пересечение», с другой стороны, не рассматривает полигоны, границы которых только касаются друг друга, как пересекающиеся. Лучший способ подумать об этом различии состоит в том, что инструмент «Пересечение» при пересечении многоугольников не может создавать многоугольники из точек и многоугольники, границы которых соприкасаются только потому, что в результате получается точка, а не многоугольник. (Более подробную информацию об этих пространственных отношениях можно найти здесь.)

Используйте "на расстоянии" для эмуляции инструмента "Пересечение"

Рис. 6. Использование «Выбрать по местоположению» с методом выбора «на расстоянии»

Если вы хотите, чтобы «Выбор по местоположению» игнорировал полигоны, границы которых только касаются (например, инструмент «Пересечение»), используйте метод пространственного выбора «в пределах расстояния» и введите небольшое отрицательное расстояние, как показано на рисунке 6.

Создание таблицы табуляции

Рисунок 7: Табличка без ОБЛАСТИ

Select By Location просто выбирает объекты; он не передает атрибуты между целевым и исходным слоями. В контексте этого примера это означает, что вы не можете получить таблицу табуляции идентификаторов сайтов и участков, если только вы не захотите перейти в ModelBuilder или Python и перебирать каждую функцию сайта по одному, а затем использовать Select Layer Инструмент «По расположению» для выбора участков, затем создайте и обновите поле SID.(Инструмент Выбрать в слое по местоположению аналогичен диалоговому окну Выбрать по местоположению, доступному из меню Выбор ArcMap, и используется в любое время, когда вы хотите автоматизировать запрос Выбрать по местоположению с геообработкой.) Модель Использование Выбрать в слое по местоположению в в загружаемом образце показано, как это сделать в ModelBuilder. Результат этой модели показан на рисунке 7. Таблица такая же, как на рисунке 1, но с отсутствующими полями AREA и PERCENTAGE, потому что необходимая информация - части участков, которые попадают в пределы участка, - недоступна для сделать расчет.

Модель с использованием выбора слоя по расположению Модель - интересное упражнение по использованию итераторов в ModelBuilder, но в остальном она сложна и бесполезна. Итак, вместо того, чтобы перебирать каждый сайт (что медленно), используйте инструмент Пространственное соединение.

Пространственное соединение

Рисунок 8: Диалог пространственного соединения.

Инструмент «Пространственное соединение» использует те же методы пространственного выбора, что и инструмент «Выбрать слой по расположению». Большая разница в том, что он создает новый класс пространственных объектов вместо выбора существующих объектов, а атрибуты из объединенных объектов выводятся в новый класс пространственных объектов.

  • Пространственное соединение, как следует из названия, объединяет два класса пространственных объектов для создания новой таблицы. Он не разделяет линейные или полигональные объекты на основе той части, которая находится внутри другого многоугольника, в отличие от инструмента Пересечение. Это означает, что вы не можете создать таблицу табуляции, в которой есть AREA и PERCENTAGE. Вы можете создать только таблицу, как показано на рисунке 7. Обратите внимание, что Пространственное объединение находится в группе инструментов Наложение панели инструментов Анализ, но все другие инструменты в группе инструментов Наложение разделяют объекты - Пространственное объединение - единственный инструмент в этом наборе инструментов, который нет.
  • Как и в случае выбора слоя по расположению, вы используете опцию сопоставления WITHIN_A_DISTANCE и задаете небольшое отрицательное расстояние, если хотите исключить полигоны, которые касаются только границ.

Поскольку пространственное объединение не разделяет объекты или атрибуты распределения по длине или площади, мне нравится удалять любые поля длины и площади, а также любые поля, которые должны быть распределены по длине или площади. Это не позволяет мне использовать эти поля в расчетах в будущем и получить неверные результаты.

Рисунок 9: Диалоговое окно инструмента Таблица в таблицу

Для создания таблицы табуляции я использую инструмент Таблица в таблицу, чтобы преобразовать выходные данные класса пространственных объектов с помощью пространственного объединения в простую таблицу (без столбца формы). Таблица с таблицей, как и «Пространственное соединение», имеет параметр «Карта полей», который позволяет удалять поля из выходной таблицы. Чтобы удалить поле, выберите поле в параметре Field Map и удалите его, как показано на рисунке 9, где удалены все поля, кроме SID, PID и STATUS.

Результатом преобразования из таблицы в таблицу является таблица, показанная на рисунке 7 выше. Модель с использованием пространственного соединения в загружаемых строках объединяет "Пространственное соединение" и "Таблица с таблицей".

Сводка

Overlay - это основа ГИС, и есть много способов получить ответы на запросы наложения в ArcGIS - только некоторые из них были затронуты в этом блоге. Всякий раз, когда вам нужно выполнить запрос наложения, вам нужно остановиться и спросить себя, нужно ли разбивать объекты, чтобы можно было вычислить правильную площадь или длину.Если да, то инструменты в наборе инструментов «Анализ»> «Наложение» (за исключением «Пространственное соединение») - это то, что вы хотите использовать, потому что они накладывают и разделяют объекты, чтобы получить правильные области и длину. Если вам не нужно разделять объекты, чтобы получить площадь и длину, у вас есть другие опции, такие как Пространственное объединение и Выбрать по местоположению (и соответствующий инструмент геообработки Выбрать слой по местоположению). Эти инструменты имеют множество различных вариантов пространственного выбора, и вам нужно знать об их определении «пересечения» - оно отличается от инструмента «Пересечение».

Инструмент Табулировать пересечение можно эмулировать с помощью команды «Пересечение», за которой следует ряд шагов, которые можно автоматизировать в ModelBuilder. Если ваша цель - получить таблицу табуляции, аналогичную той, что создается с помощью Tabulate Intersection, но у вас нет расширенной лицензии, вы можете начать с модели Using Intersect , представленной в загружаемом файле. Команда геообработки создала инструмент Табулировать пересечение в версии 10.1, поэтому вам не нужно создавать модель, использующую пересечение.Tabulate Intersection использует ту же логику кода, что и Intersect, но имеет преимущество в скорости: он не записывает функции - он создает их в памяти для вычисления площади и длины, а затем выбрасывает их вместо того, чтобы записывать их на диск.

Следующий блог о наложении: Больше приключений в наложении: разбиение полигонов картографическими спагетти

.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *