пару мелких вопросов

0 голосов
спросил 15 Янв, 10 от Van_Geo (5,560 баллов) в категории Программные продукты Esri
Помогите пожалуйста.
1. Как выбрать объекты одного слоя, которые пересекаются или прикасаются?
2. Как всатавить в колонку количество вершин объекта?

Спасибо

14 Ответы

0 голосов
ответил 18 Янв, 10 от Van_Geo (5,560 баллов)
Неужели, это так сложно для ArcInfo? В MapInfo это делается просто:
1. Простенький модуть на MapBasic пишется - перебор объектов, где пересекается более чем с одним объектом - отметить.
2. А тут еще проще: Update Selection Set Col1=ObjectInfo(obj,20).
0 голосов
ответил 18 Янв, 10 от robinzon_kruzo (1,640 баллов)
selection-select by location (v paneli instrumentov)
0 голосов
ответил 20 Янв, 10 от Worker (22,480 баллов)
С вершинами тоже очень просто :)

Right-click the layer and select Open Attribute Table.
Click Options > Add Field to add a new field to the layer.
Name the field NumPoints and select Long Integer for the type.
Right-click the new field and select Calculate Values.
Check the Advanced box.
Copy the following text into the Pre-logic VBA Script Code text box.

Dim pPointCount As IPointCollection
Set pPointCount = [SHAPE]

Type the following text into the lower text box.

pPointCount.PointCount

Click OK.

0 голосов
ответил 21 Янв, 10 от Van_Geo (5,560 баллов)
Большущее спасибо!
Я знал, что если MapInfo такое может, то тем более и ArcInfo...
0 голосов
ответил 21 Янв, 10 от self-improving1 (2,780 баллов)
Небольшое уточнение.
Этот алгоритм считает все вершины, в том числе конечную и начальную. Даже если они совпадают (в случае полигонов).
Так что, если слой полигональный, выражение в нижнем окошке должно выглядеть так:

pPointCount.PointCount -1
0 голосов
ответил 21 Янв, 10 от Van_Geo (5,560 баллов)
selection-select by location (v paneli instrumentov)


А есть способ выбрать объекты которые прикасаются в одном полигональном слое?
selection-select by location мне не помогает...
0 голосов
ответил 21 Янв, 10 от Worker (22,480 баллов)
Небольшое уточнение.Этот алгоритм считает все вершины, в том числе конечную и начальную. Даже если они совпадают (в случае полигонов).Так что, если слой полигональный, выражение в нижнем окошке должно выглядеть так:pPointCount.PointCount
-1


    Все правильно, здорово, что уточнили. :)

Думаю, удобно будет использовать топологию, помимо этого еще чего надумаете использовать. :)
0 голосов
ответил 22 Янв, 10 от robinzon_kruzo (1,640 баллов)
kone4no mojno, ved` tam razreshaetsya vyborka sloev. vot i vybirai tot kotoryi nujen
0 голосов
ответил 22 Янв, 10 от self-improving1 (2,780 баллов)
А есть способ выбрать объекты которые прикасаются в одном полигональном слое?
selection-select by location мне не помогает...

Уточните, пожалуйста, в чем суть задачи?
Нужно выбрать объекты, которые соприкасаются с другими определенными объектами, - и все они в одном слое?
Или просто есть правило, что в этом слое полигоны не должны пересекаться/соприкасаться, и вам нужно найти ошибки?..
0 голосов
ответил 22 Янв, 10 от Van_Geo (5,560 баллов)
Да, нужно выбрать объекты, которые соприкасаются с другими определенными объектами, - и все они в одном слое?
Думаю может возможен такой алгоритм:
Сделать дублирующий слой, потом сделать выборку так, чтобы выбрать те которые пересекаются более одного раза.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...