Страница 1 из 2

Слияние

Добавлено: 17 мар 2018, 07:52
Assi
Здравствуйте. Помогите пожалуйста срочно. Надо сделать слияние полигонов чтобы при нажатии кнопки слить автоматически выбиралась атрибуты того полигона у которого самая большая высота, а не так чтобы искать его в списке, который выходит после команды слить. У меня 10.2 версия Гиса, и она на английском. Поэтому ,если возможно, можете написать в английских командах пошагово. Вообще есть ли подобные команды, функций? Мне дали это задание, и сказали, что если я найду упрощённый путь, то примут меня на работу. Heeelp. :cry:

Re: Слияние

Добавлено: 17 мар 2018, 21:58
lam
1. Создать новое числовое поле, например с названием "new", в таблице атрибутов слоя полигонов (Add Field...), автомат будут проставлены нули.
2. Пункт меню Geoprocessing->Dissolve, в диалоговом окне сделайте установки (см. вложение).

new - новое числовое поле, которое Вы создали.
h - поле значений высот.

Удачи в трудоустройстве. :)

Re: Слияние

Добавлено: 19 мар 2018, 07:43
Assi
Спасибо большое. Но у меня в слое много зданий. И каждое здание состоит из нескольких полигонов, у которых разная высота. Мне надо сделать слияние так, чтобы каждое здание при слияний сохранила свою максимальную высоту. А не так, чтобы в конечном у всех зданий была высота самого высокого здания. :cry:

Re: Слияние

Добавлено: 19 мар 2018, 07:54
trir
каков признак для объеденения?

Re: Слияние

Добавлено: 19 мар 2018, 08:11
Assi
в смысле признак? не поняла

Re: Слияние

Добавлено: 19 мар 2018, 08:16
trir
полигоны для объедения - накладываются, косаются или имеют общий атрибут?
или вы просто знаете, что их нужно объеденить?

Re: Слияние

Добавлено: 19 мар 2018, 08:19
Assi
накладываются

Re: Слияние

Добавлено: 19 мар 2018, 08:22
Assi
К примеру

Re: Слияние

Добавлено: 19 мар 2018, 15:16
Assi
А С помощью пространственного соединения можно объединить пересекающиеся полигоны, так чтобы в конечном атрибуте была макс.высота!

Re: Слияние

Добавлено: 19 мар 2018, 15:17
trir
можно

Re: Слияние

Добавлено: 19 мар 2018, 15:22
Assi
Как называется функция на английском, пошагово можете описать, пожалуйста

Re: Слияние

Добавлено: 21 мар 2018, 09:06
trir
как то так

Код: Выделить всё

SELECT fid1, geometry::UnionAggregate(g2) as ug2, max(e2) as me
FROM 
(select [FeatId] as fid1, [Geometry] as g1, ELEVATION as e1 from [Default].[tt2] where [FeatId]=1) as tbl1 left join 
(select [FeatId] as fid2, [Geometry] as g2, ELEVATION as e2 from [Default].[tt2]) as tbl2
on g1.STIntersects(g2) = 1
group by fid1

Re: Слияние

Добавлено: 21 мар 2018, 21:42
Assi
что за коды. я не умею ими пользоваться

Re: Слияние

Добавлено: 21 мар 2018, 21:52
trir

Re: Слияние

Добавлено: 25 мар 2018, 08:38
Assi
Не получается. Обясните :roll: :| :cry: