Автоматическая проверка семантики в столбце
- SERGEY30RUS
- Участник
- Сообщения: 72
- Зарегистрирован: 19 окт 2011, 12:54
- Репутация: 0
Автоматическая проверка семантики в столбце
Здавствуйте ЕЩЕ раз!!!
Опишу вкраце проблему, имею отвекторизированную карту,только полигоны, открываю таблицу атрибутов
Имею много таких столбцов,(СМ ФОТО)
Название Хозяйства, номер хозяйства, номер контура, номер полигона, кодполигона,площадь, и SL - (это служебная колонка,означает что это вообще такое,Богара,орошение и.т.д)
Сталкнулся с этапом проверки, необходимо проверить только один столбец (столбец номера полигона) FLP_ID,
номера не могут повторяться и пропускаться! Как это сделать в автоматическом режиме в АркГис и реально ли такое??? Уважаемые проффи - просьба Доп программы не предлагайте! ибо лучше пересчитаю все в ручную, тупо упорядочу по возрастанию и проверю!
Опишу вкраце проблему, имею отвекторизированную карту,только полигоны, открываю таблицу атрибутов
Имею много таких столбцов,(СМ ФОТО)
Название Хозяйства, номер хозяйства, номер контура, номер полигона, кодполигона,площадь, и SL - (это служебная колонка,означает что это вообще такое,Богара,орошение и.т.д)
Сталкнулся с этапом проверки, необходимо проверить только один столбец (столбец номера полигона) FLP_ID,
номера не могут повторяться и пропускаться! Как это сделать в автоматическом режиме в АркГис и реально ли такое??? Уважаемые проффи - просьба Доп программы не предлагайте! ибо лучше пересчитаю все в ручную, тупо упорядочу по возрастанию и проверю!
- Вложения
-
- 000.jpg (1023.3 КБ) 13630 просмотров
ФГБУ
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: ПРОВЕРКА СЕМАНТИКИ!!!
Я бы в Экселе (OpenOffice Calc) сделал бы. Отнял бы из текущего значение предыдущее и если разница не равна единице - то это и есть сбойное место. Другое дело, подпадает ли Микрософтовский Офис или бесплатный OpenOffice/LibraOffice в "доп программы"
- SERGEY30RUS
- Участник
- Сообщения: 72
- Зарегистрирован: 19 окт 2011, 12:54
- Репутация: 0
Re: ПРОВЕРКА СЕМАНТИКИ!!!
Будете смеяться но нам не покупают Микрософтовский офис а поставили IBM Lotus SymphonyBishop писал(а):Я бы в Экселе (OpenOffice Calc) сделал бы. Отнял бы из текущего значение предыдущее и если разница не равна единице - то это и есть сбойное место. Другое дело, подпадает ли Микрософтовский Офис или бесплатный OpenOffice/LibraOffice в "доп программы"

думаю там можно сделать такое, но тогда возникает друго , если разница чисел будет - надо потом искать это проблемное число, а если разница существенна то искать несколько ошибок!!! А полигонов у меня 1500 в каждом полугодии... Выходит если в АркГисе нельзя, то самый надежный способ это открывать атрибутику и по строчно считать до 1500, попутно оперативно исправляя ошибки!!!
Ну все равно За дельный совет спасибо!

ФГБУ
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: ПРОВЕРКА СЕМАНТИКИ!!!
Искать не надо - просто по колонке отсортировать и все. Поставьте бесплатный LibraOffice Calc.
Для импорта в электронную таблицу экспортируйте ваш шейп в csv.
Ваше начальство правильно держит курс в сторону opensource
Для импорта в электронную таблицу экспортируйте ваш шейп в csv.
Ваше начальство правильно держит курс в сторону opensource

-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: ПРОВЕРКА СЕМАНТИКИ!!!
а если использовать R (который, кстати, тоже бесплатный), то можно сразу грузить MIF/MID (или shape), все проверить/пересчитать, и записать MIF/MID (или shape) - такого ни на каком Ёкселе не сделать. Так что научите своего программиста в R работать (там GDAL подключен), и будет вам щастье 

-
- Интересующийся
- Сообщения: 32
- Зарегистрирован: 26 окт 2010, 19:11
- Репутация: 0
Re: ПРОВЕРКА СЕМАНТИКИ!!!
to SERGEY30RUS "сверху" распространялось готовое решение, киньте майл в личку.
-
- Участник
- Сообщения: 59
- Зарегистрирован: 12 мар 2011, 20:13
- Репутация: 5
- Откуда: Москва
Re: ПРОВЕРКА СЕМАНТИКИ!!!
Конечно уже не актуально, но промолчать не могу))
Во-первых,я бы отсортировала по полю, из большего вычла меньшее и сравнила с количеством записей. Ну это так, если равные значения, заранее понадеяться что косячных мест нет)
1) Если количество записей равно этой разнице, то простой статистикой по полю проверяем на дубли. Если дублей нет, значит они идут подряд и не повторяются!Можно радоваться!
2)Если количество разное и надо найти косячные места, добавляем поле, индексируем его от минимального значения в интересующем нас поле, далее по +1, и простым запросом по атрибутам сравниваем эти поля, где значения не равны, там и ошибки значит.
Если мой ответ звучит похожим на правду, еще востребован и не понятен, могу объяснить подробнее
Во-первых,я бы отсортировала по полю, из большего вычла меньшее и сравнила с количеством записей. Ну это так, если равные значения, заранее понадеяться что косячных мест нет)
1) Если количество записей равно этой разнице, то простой статистикой по полю проверяем на дубли. Если дублей нет, значит они идут подряд и не повторяются!Можно радоваться!
2)Если количество разное и надо найти косячные места, добавляем поле, индексируем его от минимального значения в интересующем нас поле, далее по +1, и простым запросом по атрибутам сравниваем эти поля, где значения не равны, там и ошибки значит.
Если мой ответ звучит похожим на правду, еще востребован и не понятен, могу объяснить подробнее

-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
Re: Автоматическая проверка семантики в столбце
Если база позволяет добавлять временные поля, я бы тоже постарался обойтись без Экселя. Вот только вопрос к Екатерине: как получить это приращение +1 от произвольного числа, а не только FID+1?
Жизнь - это эксперимент, поставленный на себе.
-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
Re: Автоматическая проверка семантики в столбце
Хотя, вообще-то, в данном случае достаточно из "ихнего" ID вычесть FID и, в принципе, должна получиться константа.
(но вопрос про приращение сохраняется
)
(но вопрос про приращение сохраняется

Жизнь - это эксперимент, поставленный на себе.
-
- Участник
- Сообщения: 59
- Зарегистрирован: 12 мар 2011, 20:13
- Репутация: 5
- Откуда: Москва
Re: Автоматическая проверка семантики в столбце
Поле заполняется через обычный филдкалькулятор, сверху галочка Python, далее show Codeblock, в нем вводишь следующее:
rec=0
def autoIncrement():
global rec
pStart = 1 # Тут значение, с которого хочешь начинать
pInterval = 1 # Собственно интервал, как раз 1
if (rec == 0):
rec = pStart
else:
rec = rec + pInterval
return rec
а в поле просишь записать: autoIncrement()
Готово
rec=0
def autoIncrement():
global rec
pStart = 1 # Тут значение, с которого хочешь начинать
pInterval = 1 # Собственно интервал, как раз 1

if (rec == 0):
rec = pStart
else:
rec = rec + pInterval
return rec
а в поле просишь записать: autoIncrement()
Готово

-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
Re: Автоматическая проверка семантики в столбце
Принцип ясен. Спасибо. Правда, у нас версия 9.3.1 и питона там нет, только VBA. Но это не смертельно, можно, наверное, оформить в скрипт и повесить на кнопку.
А для данного случая, я прикинул, - реально ничего больше и выдумывать не надо. Добавил поле, вычислил разницу с FID-ом, а там по обстановке: либо всё ОК, либо ищешь, где сбой.
А для данного случая, я прикинул, - реально ничего больше и выдумывать не надо. Добавил поле, вычислил разницу с FID-ом, а там по обстановке: либо всё ОК, либо ищешь, где сбой.
Жизнь - это эксперимент, поставленный на себе.
-
- Участник
- Сообщения: 59
- Зарегистрирован: 12 мар 2011, 20:13
- Репутация: 5
- Откуда: Москва
Re: Автоматическая проверка семантики в столбце
Питона??Нет??Питона не может не быть
И я имела ввиду не оформление в кнопочку, а прямо в FieldCalculator ввести этот текст как на рисунке.
Очень сэкономит тебе время)

И я имела ввиду не оформление в кнопочку, а прямо в FieldCalculator ввести этот текст как на рисунке.
Очень сэкономит тебе время)
- Вложения
-
- Field.JPG (98.17 КБ) 13405 просмотров
-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
Re: Автоматическая проверка семантики в столбце
Я рад за тебя, но у меня такого нет. У меня просто версия 9.3.1. Может к нему какой-то сервис пак был? Тогда мы его пропустили.
Калькулятор запускается прямо из таблицы или из какого-то хитрого места? Может это какой-то модуль с сайта?
Калькулятор запускается прямо из таблицы или из какого-то хитрого места? Может это какой-то модуль с сайта?
Жизнь - это эксперимент, поставленный на себе.
-
- Участник
- Сообщения: 59
- Зарегистрирован: 12 мар 2011, 20:13
- Репутация: 5
- Откуда: Москва
Re: Автоматическая проверка семантики в столбце
Да нет,ничего особенного не ставилось...Ну проверь в общем, калькулятор запускается прямо из таблицы, по названию поля, которое хочешь заполнить, правый щелч мыши и далее выбрать калькулятор, вот рисунок. У вас лицензия ArcView,я не посмотрела, я работаю с Editor и выше, ну напиши тогда есть у вас такой или нет, буду знать 

- Вложения
-
- Calc.JPG (46.83 КБ) 13363 просмотра
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Автоматическая проверка семантики в столбце
Питоновский парсер в калькуляторе полей появился с ArcGis 10.0
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость