Как переопределить тип данных в столбце?

0 голосов
спросил 02 Апр, 08 от Tesla (1,040 баллов) в категории Программные продукты Esri
Добрый день коллеги!
У меня к Вам возник вопрос. При построении класса пространственных объектов при помощи модуля ET GeoWizards 9.6.1 есть небольшой «затык», который заключается в следующем: один из столбцов имеет «смешанный» тип данных (например: 12345; 12345Е; 12345-12; 12345-12У) именуемый DOBLE. В ходе работы (когда надо подписать) не подписываются те объекты, имена которых имеют буквы или содержат тире/дефисы.
Мне приходиться делать два SHP-файла: один содержит полилинии, имена, которых состоят из одних цифр (например: 12345; 12346; 12347) – тип данных распознаётся как TEXT и второй, который также содержит полилинии, но их имена состоят из так сказать «набора» (например: 12345; 12345К; 12345-1К) – тип данных распознаётся как TEXT. Короче говоря, когда всё по отдельности, тогда тип данных распознаётся как TEXT и всё прекрасно подписывается!
Суть вопроса: как построить SHP-файл, в котором, будут содержаться и те и другие данные, которые должны обязательно подписываться, для чего тип данных столбца должен определяться как TEXT.
Я хотел переопределить тип данных DOUBLE в TEXT, но ничего не выходит.
Подскажите, пожалуйста, как можно решить эту небольшую проблемку.
За ранее благодарен!

12 Ответы

0 голосов
ответил 02 Апр, 08 от Ratkov_S (1,200 баллов)
Можно создать новое поле и вычислить в него данные при помощи калькулятора полей а атрибутивной таблице
0 голосов
ответил 02 Апр, 08 от Tesla (1,040 баллов)

Честно говоря не пойму для чего вычислять в новый столбец данные? Они ведь так же и "передут", но только в столбец с типом данных TEXT, а вот нули как были так и будут! Может,я чего то не понял,но не могли бы Вы немного по подробнее описать свою подсказку!
    
0 голосов
ответил 02 Апр, 08 от Vadim (28,120 баллов)

Не знаю уж, как там геовизард поля создает, но то что поле со значением "12345-12У" имеет тип данных Double призывает задуматься???? Так как Double это числовой тип. А у вас в атрибутах - текст. Чтобы все нормально подписывалось необходимо создать новое текстовое поле http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?id=1548&pid=1547&topicname=Add_Field_(Data_Management) и, как было сказано выше вычислить в него значения из вашего поля - field calculator

0 голосов
ответил 02 Апр, 08 от Tesla (1,040 баллов)
Благодарю за ответ!
Что Double - числовой тип это понятно, поэтому то и не отображаются значения типа: "12345-12У".
Я создавал новое текстовое поле с типом значения TEXT, но при вычислении в него значений всё так и остаётся, то есть как были столбцы пустые, так они и остаются. Потому что изначально значения в них нет.
P.S. или я чего то не правильно оъбясняю, что требуется или вы меня не понимаете...
Но всё равно спасибо за внимание.
0 голосов
ответил 02 Апр, 08 от Vadim (28,120 баллов)
А в каком столбце такое значение "12345-12У"??????? Из него и надо в текстовое копировать.
0 голосов
ответил 02 Апр, 08 от geologic (39,860 баллов)
Возможно, просто так скопировать значения не получится. Они же числовые, а вы их - в текст. Придется применить функцию перевода числа в текст, поищите в подсказках.

Ну вас угораздило... Который раз убеждаюсь, что ГИСовцам сперва надо часов 30 баз данных, хотяб основы.
0 голосов
ответил 02 Апр, 08 от Tesla (1,040 баллов)

ГИСовцам сперва надо часов 30 баз данных, хотяб основы.


Полностью а Вами согласен, не хватает!
    
Спасибо! Посмотрю, может, что и найду хорошего!
0 голосов
ответил 02 Апр, 08 от Vadim (28,120 баллов)
Возможно, просто так скопировать значения не получится. Они же числовые, а вы их - в текст.
 
Благо ребятки из esri за нас многое продумали и с калькуляцией числового поля в текстовое никаких проблем нет, то есть функции конвертирования зашиты внутрь и нет необходимости ручками писать cast или convert. Обратная конвертация текст в число тоже возможна при условиии правильного синтакса в текстовом поле.
Который раз убеждаюсь, что ГИСовцам сперва надо часов 30 баз данных, хотяб основы.
  Ну вообще ГИС без базового понимания баз данных по определению невозможен Tongue
0 голосов
ответил 02 Апр, 08 от Vadim (28,120 баллов)
один из столбцов имеет «смешанный» тип данных (например: 12345; 12345Е; 12345-12; 12345-12У) именуемый DOBLE
  Вот тут вся проблемма. Опишите, что у вас на входе и, что хотите получить на выходе. Скриншоты кинте с типами данных полей и значениями атрибутов в них.
0 голосов
ответил 07 Апр, 08 от Tesla (1,040 баллов)

На входе имеется текстовый файл, содержащий таблицу данных:
image
Как видно из рисунка первый столбец (Nomer), состоит из значений смешанного типа.
Так вот при построении в ArcCatalog класса пространственных объектов из таблицы XY, тип значений в столбце "Nomer" распознаётся как Double (числовые) и их изначально программа не видит! А в последствии при подписании объектов из этой колонки, некоторые не подписываются, понятно почему!
P.S. мне необходимо привести значения столбца Nomer к типу данных TEXT, что бы в последствии использовать значения для подписи объектов.

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