Создание поля geometry в геобазе данных

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Создание поля geometry в геобазе данных

Сообщение Tereha » 06 дек 2013, 11:21

Уважаемые Гуру!
х,y - таблицу необходимо зарегистрировать в геобазе данных.
1. Базу данных создать стандартным инструментом Create enterprise geodatabase.
2. Таблицу скопировал в геобазу данных:

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

select * into cuks_gdb.sde.events from cuks.dbo.events
3. В клонированной таблице добавил поле shp типа geometry.
4. Сформировал значения поля по значениям полей x,y:

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

update cuks_gdb.sde.events set Shp =  geometry::STGeomFromText('Point('+ ltrim(STR(x, 99, 11))+ ' '+ ltrim(STR(y, 99, 11))+ ')',28406);
Все сформировалось, вроде, сообщений об ошибках не было . Но при попытке ввести изменения в любое поле получаю сообщение об ошибке
The parameter type cuks_gdb.sys.geometry is invalid. Parameter name: value
Как исправить ошибку?
Вложения
Eroor.jpg
Eroor.jpg (24.41 КБ) 10708 просмотров
updateShape.jpg
updateShape.jpg (156.38 КБ) 10708 просмотров

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Создание поля geometry в геобазе данных

Сообщение trir » 06 дек 2013, 14:31

Может следует создать таблицу средствами ArcGISб а уже потом заполнить её данными...

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Создание поля geometry в геобазе данных

Сообщение Tereha » 06 дек 2013, 16:04

Создал новую таблицу в геобазе данных (cuks_gdb) средствами arcgis desktop. Поле id (int) - преобразовалось в ObjectID. В sql manager добавил поле Shape типа geometry , затем скопировал имеющиеся поля в исходной (не геобазе) базе данных (без поля типа geometry) и выполнил скрипт по формированию поля shape.
Результат - тот же, ошибка (приведена в исходном сообщении)

Monstria
Активный участник
Сообщения: 133
Зарегистрирован: 17 май 2011, 06:22
Репутация: 50
Откуда: Нижний Новгород

Re: Создание поля geometry в геобазе данных

Сообщение Monstria » 06 дек 2013, 19:24

Tereha писал(а):Создал новую таблицу в геобазе данных
А что мешает вашу таблицу, с исходными данными и координатами, добавить слоем, после чего данные слоя уже экспортировать в вашу базу новым классом?
http://resources.arcgis.com/ru/help/mai ... 001z000000

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Создание поля geometry в геобазе данных

Сообщение Tereha » 07 дек 2013, 11:08

Нет компьютера под рукой, надо попробовать.
1. Правильно ли я понял , что созданный по x,y таблице слой можно экспортировать в геобазу данных в виде класса. В этом классе будет соответствющая таблица, и будут доступны программно CRUD операции с таблицей, т.е. возможно, например, программное добавление элементов?
2. Если в исходной x,y-таблице, на основе которой слой, будет добавлен элемент, то в базе геоданных система сама добавит соответствующий элемент или его надо формировать программно?
3. При программном добавлении элементов в класс геобазы данных все равно придется формировать поля типа geometry. Так что с проблемой сформулированной изначально разобраться надо...

[ Сообщение с мобильного устройства ]

Monstria
Активный участник
Сообщения: 133
Зарегистрирован: 17 май 2011, 06:22
Репутация: 50
Откуда: Нижний Новгород

Re: Создание поля geometry в геобазе данных

Сообщение Monstria » 07 дек 2013, 13:41

Если вы будете добавлять новые объекты скриптами - то вам стоит более подробно изучить API ArcObject help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html
http://help.arcgis.com/en/sdk/10.0/Arco ... tModel.pdf
так как тип (Geometry) поля (Shape, или как у вас Shp) - далеко не текстовое...

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Создание поля geometry в геобазе данных

Сообщение trir » 07 дек 2013, 18:05

А кто тут увидел текстовое поле?

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Создание поля geometry в геобазе данных

Сообщение Tereha » 07 дек 2013, 19:14

1. Я публикую сервис на основе таблицы базы геоданных и рассчитываю работать с таблицей или с помощью стандартных виджетов из silverlight API (типа EditorWidget) и использованием кода на C#.
2. Я думаю, если , скажем, добавлять новую запись из c# , то найдется стандартная функция, которая формирует поле geometry по координатам.
3. Я пытаюсь понять почему у меня сервис на таблице не работает в полном объеме. Если я вижу, что при изменении записи просто в sql manager , естественно выяснить - почему?
4. Хотелось бы далее на следующем этапе посмотреть - как вносить изменения в эту таблицу из arcgis desktop (10.1). Как изменять атрибуты имеющихся элементов и добавлять новый.
5. Интересно посмотреть - если предложенным способом формировать слой на основе x,y-таблицы и далее переносить этот слой в геобазу данных - что при этом происходит? Формируется ли поле Shape?
6. Вообще-то я где- то видел, что если в исходной таблице нет полей geometry и ObjectID- то при регистрации таблицы в базе геоданных - должны появиться диалоги с предложением автоматически сформировать эти поля.
7. Если использовать некий алгоритм формирования нужной таблицы в базе геоданных на основе исходной x,y-таблицы, то далее работа происходит только с новой таблицей или есть возможность сделать так, чтобы работать с исходной x,y- таблицей, а далее система уже отслеживает изменения?

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Создание поля geometry в геобазе данных

Сообщение trir » 07 дек 2013, 20:06

А зачем вообще так мучатся с arcgis desktop? Если есть куча способов сделать это сильно проще!

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Создание поля geometry в геобазе данных

Сообщение Tereha » 08 дек 2013, 07:21

Очень интересно!!! Был бы очень признателен

[ Сообщение с мобильного устройства ]

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Создание поля geometry в геобазе данных

Сообщение trir » 08 дек 2013, 12:03

Только не понятно, что же требуется получить в результате...

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Создание поля geometry в геобазе данных

Сообщение Tereha » 09 дек 2013, 08:24

Есть x,y - таблицы , сейчас перевел их на sql server. CRUD операции с таблицами выполняются множеством операторов. Объекты (события, или объекты...) отображаются на карте. Необходимо, например, чтобы события после ввода оператором - сразу отображались на карте (аналогично по остальным операциям).
Я на таблицах предполагаю сделать feature service в arcgis server 10.1. Вот в целом и все.
Для создания сервиса с feature access необходимо зарегистрировать таблицу в базе геоданных. Зарегистрировал, создал необходимые поля ObjectID и Shape - сервис создается, точки отображаются правильно по полям Shape . Операция удаления работает в любом случае, update выполняется на моем sql сервере ,если подключить сервис к arcgis.com, но вот из моего сайта - update не выполняется ...

Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Создание поля geometry в геобазе данных

Сообщение Tereha » 09 дек 2013, 14:55


trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Создание поля geometry в геобазе данных

Сообщение trir » 09 дек 2013, 16:37


Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Re: Создание поля geometry в геобазе данных

Сообщение Tereha » 10 дек 2013, 10:33

Спасибо, интересная информация. Если я правильно понимаю она облегчает работу с пространственными данными базы геоданных ArcSDE из , например, C# модуля.
1. Ссылка не работает:
OSGeo FDO Provider for ArcSDE API Reference [url=http://]http://fdo.osgeo.org/files/fdo/docs/ArcSDE/index.html[/url]
2. Везде , где я посмотрел явно указано на согласованность с версией arcgis 9.i , не ясно по версии 10.i.

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя