Старые шейпы

0 голосов
спросил 09 Сен, 04 от Stvan (7,620 баллов) в категории Программные продукты Esri

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

 

6 Ответы

0 голосов
ответил 09 Сен, 04 от Mitrich (13,680 баллов)
Может быть линии нулевой длины? или что-то подобное
0 голосов
ответил 09 Сен, 04 от Stvan (7,620 баллов)
Нет, нету таких
0 голосов
ответил 09 Сен, 04 от valery (7,040 баллов)

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

Выделяешь на экране все объекты (лучше мышью) и смотришь невыделенные записи в таблице

0 голосов
ответил 10 Сен, 04 от Гость (210,080 баллов)

Да нет, шейп был нормально отрисован без всякой конвертауии и в ArcGis 8.3 работал нормально, а вот в девятке отказывается. Причем он не один такой.

0 голосов
ответил 10 Сен, 04 от Гость (210,080 баллов)

Проверил с помощью Shapechk, оказывается в файле dbf шейпа одна лишняя запись. Одно непонятно, почему 8.3 нормально его читал.

0 голосов
ответил 21 Сен, 04 от Гость (210,080 баллов)

Столкнулся со схожей проблемой. При экспорте шейпа в базу геоданных выдается сообщение Linestring or poly boundary is self-intersecting. 

Насколько помню в ArcGis 8.3, если при экспорте возникала ошибка, то выдавалась информация о типе ошибки и FID "плохого объекта".  

В ArcGis 9.0 (очевидно хотели как лучше, а получилось как всегда) добавили утилиту предварительной проверки Check Geometry (в ArcTools), которая выдает информацию о "плохих объектах" (тип ошибки и FID объекта), а при возникновении ошибки при самом экспорте выдается только информация о типе ошибки. 

По логике, алгоритм проверки при экспорте и в утилите Check Geometry должен быть одинаковым, но проверка шейпа утилитой Check Geometry (из ArcTools) ошибки не выдает, а при экспорте ошибка возникает.

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

 

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