От изолиний к точкам и полигонам

0 голосов
спросил 09 Фев, 08 от Mark (860 баллов) в категории Программные продукты Esri
    Здравствуйте!

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

Думаю действовать так: отнести характеристику к центроидам полигонов, построить изолинии, а затем определить значение характеристики (в кварталах, у которых нет информации) для центроидов путем интерполяции. Есть ли в ArcGIS 9.x или ArcView 3.x возможность автоматизировать определение значения характеристики в точке по существующим изолиниям?

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

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

Марк

22 Ответы

0 голосов
ответил 21 Фев, 08 от geologic (39,860 баллов)
TIN в грид перевести просто, но нужен одновременно 3D и Spatial Analyst. Где-то там в меню будет функция "Convert to Grid..."

Ваш способ я не понимаю: если TIN создан, изменить его трудно и сбои неизбежны. Нужно делать его с нуля, и потом не редактировать. Когда вы заказываете TIN, берете полигоны как mass points или fill, получаете cтупенчатую модель. Если в нее надо включить еще и точки либо линии, строите все заново с их учетом.

Использовать грид для ступенчатой модели тоже несложно, хотя Spatial берет только точки как исходные. Нужно, соответственно, разбить все нужные примитивы на точки с подходящей дискретностью. В примере по моей ссылке на гис-лаб используются горизонтали как исходники для грида, вы его смотрели? В том числе замкнутые горизонтали - улавливаете? Можно и сплошные полигоны разбить на облака точек, и делать грид сразу по этим точкам. Хотя TIN-способ, разумеется, проще для начинающих.
0 голосов
ответил 21 Фев, 08 от Mark (860 баллов)
Вношу коррективы в свой прошлый пост:
1. В Conversion нашел инструмент TIN to Raster.
2. Для других данных получилось построить TIN-модель по полигонам, преобразовать ее в растр и рассчитать Zonal Statistics. Однако построенная TIN-модель оказалась действительно ступенчатой лишь для нескольких полигонов, причем некоторые из них имели значительные отличия характеристики от соседей; в то же время некоторые полигоны с незначительным отличием характеристики от соседей не сформировали отдельных ступеней, а оказались покрытыми многими треугольниками. Это негативно повлияло на Zonal Statistics. Изменения в SF_type на результат не влияют. Как с этим бороться?
3. Возник еще один вопрос: можно ли покрыть TIN-моделью те территории, которые не были покрыты исходными полигонами? Или можно сделать такое покрытие растром, в который преобразуем TIN-модель? Нужна такая экстраполяция.
0 голосов
ответил 21 Фев, 08 от geologic (39,860 баллов)
1. Ну.   :)
 
2. TIN модель должна иметь сплошное покрытие, вне зависимости от пробелов между полигонами. Внешний контур - выпуклый край по крайним полигонам. Если у вас получилось что-то другое, значит, вы намудрили с установками. ВСе должно быть просто. Выбираете Create TIN, вашу полигональную тему (все полигоны, разумеется, должны иметь значение Z в таблице), опцию "use as mass points" и вперед. Другие опции используют полигоны как исключения, включения, граничные условия и т.п., вам это не  надо. То, что ваши кварталы покрыты не одним треугольником, а несколькими... А как еще может идти триангуляция??? Не понимаю, почему вас это смущает. Покажите картинку, чтоль.
 
3. Включать интерполяцию между полигонами, таким образом, не нужно. "Включить экстраполяцию" можно нарисовав дополнительные полигоны в этом же слое, либо нарисуйте линейную/точечную тему вокруг полигонов (разумеется, со значениями тоже). Не вздумайте добавлять эти линии-точки к уже созданной модели, это работает плохо, делайте каждый раз с нуля. В грид потом, конечно, ради сглаживания только лишь.
 
 
 
Только что проверил в ArcView - никаких проблем подобных вашим. Проверять в ArcMap лень, слишком долго, должно работать. Копайте сами уж ;)
0 голосов
ответил 21 Фев, 08 от Mark (860 баллов)
Спасибо за науку. Конечно, я смотрел ссылку на ГИС-лаб. Но пока разбираюсь с TIN.
Таким образом, выполнить экстраполяцию, т.е. покрыть территорию за границами известных значений и не внутри, с TIN нельзя. Что ж, может, это и хорошо :-)
Вы меня убедили, что не стоит смущаться кварталов, покрытых несколькими треугольниками.
Кстати, в нашем ArcGIS 9.1 сначала с помощью Create TIN создается пустой TIN. Затем с помощью инструмента Edit TIN можно выбрать интерполируемую тему и создать настоящую TIN-модель.
С одними данными все работает нормально. А вот с другими возникает вышеописанная проблема: TIN-модель покрывает лишь незначительное количество полигонов. Подозреваю, что причина либо в системе координат, либо в топологических ошибках (некоторые полигоны накладываются друг на друга).
0 голосов
ответил 22 Фев, 08 от geologic (39,860 баллов)
Ну теперь я вас по пунктам :)

1. Экстраполяция вещь неоднозначная, судите сами - куда и как "экстра..."? К какому "краю географии", к каким предельным значениям, линейно или гладко? Словом, двусмысленностей по традиции ESRI избегает. Кстати, некая экстраполяция есть в Spatial, грид всегда растягивается до поямоугольника - хоть какие-то рамки.

2. насчет полигон в TIN я и сам не уверен, куда уж вас убеждать... Однако посудите, возможно ли покрыть многоугольник одним треугольником? ;)

3. Про 9.1 вы интересные вещи рассказываете, обязательно проверю :)

4. Систему координат легко убрать путем физического перепроецирования (приведения в план XY), хотя б для проверки. А вот топология и правда вещь весьма критичная в TIN даже для точек, все соотв. пакеты содержат инструменты проверки дубликатов, наложений... И только 3D Analyst это оставляет "на усмотрение" :( Вообще это не самый сложный пакет треугольно-каркасного моделирования, и в нем много нонсенсов - beware of :( Задуман был больше для визуализации, чем для реальных расчетов. IMHO потумкаетесь и переходите к гридам, у ESRI они лучше раскручены.

Только дошло - а зачем у вас кварталы накладываются-то??? Причем с разными значениями???
    
0 голосов
ответил 22 Фев, 08 от Mark (860 баллов)
Изменил проекцию и получилось! Несмотря на ошибки в топологии. Перекрывающиеся кварталы - это результат чьей-то не очень качественной работы, ошибки, которые мне некогда исправлять.
Многоугольник может быть покрыт несколькими треугольниками с одинаковыми характеристиками. Я так понимаю, что тогда и образуются многоугольные ступени со Slope=0. В моем случае таких ступеней много, но много и кварталов, покрытых разными треугольниками. Mои попытки изменить SF_type, например на hardline, при построении TIN-модели не приводят к большему количеству горизонтальных ступеней. Может, причина в тoм, что между кварталами нет промежутков, т.е. они имеют общие границы с разными характеристиками, к тому же некоторые перекрываются.
0 голосов
ответил 22 Фев, 08 от geologic (39,860 баллов)
Slope=0, именно. При раскраске такие треугольники не будут отличаться.

hardline-softline у ESRI не работает, я не слышал чтоб кому-то удавалось это воплотить. Никакого влияния на результат.

ОБщие границы и наложения с разными значениями??? Вы понимаете, что это означает для алгоритма? Это либо вертикали, либо отрицательные "уклоны". Примитивная модель TIN, расчитанная на "рельеф местности" на этом может просто рухнуть. Не советую экспериментировать в эту стророну. Нужны безусловно чистые данные.
    
0 голосов
ответил 22 Фев, 08 от rromeo (9,780 баллов)

hardline-softline у ESRI не работает, я не слышал чтоб кому-то удавалось это воплотить. Никакого влияния на результат.   

Почему??? вроде как для горизонталей softline действует, а для обрывов - hardline. Но согласен, что для корректной модели нужно очень постараться:-)
0 голосов
ответил 25 Фев, 08 от Mark (860 баллов)
Я решил избавиться от общих границ и наложений полигонов. Обрезал все кварталы вдоль их границ 20-метровым внутренним буфером. Таким образом, расстояние между границами полигонов стало 40 м. Построил TIN-модель, выбрав hardline. Вот теперь модель получилась действительно ступенчатой, т.е. каждый квартал образовал плоскую ступень со Slope=0. Но очень удивляет, что у всех треугольников, которые построились между полигонами, Slope=90,000. А ведь заложение, т.е. расстояние между границами полигонов с разными характеристиками, равно 40 м. При резких перепадах характеристики я ожидал значение, близкое к прямому углу, но никак не четкий прямой угол, причем везде. Не подскажете, как сделать 3D визуализацию, чтоб понять ситуацию? Можно ли увидеть трехмерную картинку TIN-модели или надо строить отдельную модель?
0 голосов
ответил 26 Фев, 08 от geologic (39,860 баллов)
Треугольную картинку ЛЮБЫХ построений, не только TIN, можно увидеть в 3D scene. ТОлько это уже другая тема соседняя... ;)

90 наверное, ошибка софта. TIN замысловато генерится в узких местах... Обсуждалось не раз, стоит пройти поиском по TIN, 3D etc.

2rromeo: может я отстал от жизни, но мне всегда казалось что разницы нет и треугольники всегда строятся по вертексам. Вот если бы происходило сглаживанье - разрежение, тогда да. А так всю подготовительную работу приходится делать вручную или другим софтом. По горизонталям, кстати, в общем случае модель некорректная выходит, плоская на изгибах и в итоге ступенчатая, это обсуждалось. Однако данной задаче это не должно мешать, наоборот :)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...