Официальный сайт геоинформационной системы (ГИС) ObjectLandОфициальный сайт геоинформационной системы (ГИС) ObjectLand
  
 
ПОИСК ПО САЙТУ:
yandex.ru
КАРТА САЙТА
 
главная / поддержка / форум
E-MAIL:ПАРОЛЬ: 
регистрация

Обсуждение

 Ошибка "number" not understoodОшибка "number" not understood [ shamsi ]
Воскресенье, 13 октября 2019, 23:21

Добрый день!

Метод CombineFeatureset выдает ошибку '"number" not understood' Правильно ли я использую метод после создания геометрии?

objGDBFeature.SetVertex(1, 1, x, y, GdbVertexSetModes.gdbVertexInsert);
objGDBFeature.FeatureType = (GDBFeatureType)objGDBFeatureType;
objGDBFeatureset.Feature = (GDBFeature)objGDBFeature;
objGDBThemeBrowser.CombineFeatureset(objGDBFeatureset,GdbLogicalOps.gdbLogicalNone);

 Ошибка "number" not understood [ shamsi ]
Вторник, 15 октября 2019, 12:11

Есть ли возможность позиционирования В интерактивном просмотре темы через COM?

 Ошибка "number" not understood [ Владимир Полянский ]
Вторник, 15 октября 2019, 12:53

Добрый день!

Какую версию ObjectLand вы используете?

Не могли бы вы прислать пример (а лучше проект), чтобы мы могли воспроизвести ошибку. Или хотя бы опишите последовательность действий, приведшая к ошибке.


 Ошибка "number" not understood [ Владимир Полянский ]
Вторник, 15 октября 2019, 13:00

Позиционирование можно делать с помощью метода http://www.objectland.ru/support/doc/comapi/ThemeBrowser_SetPosition.html


 Ошибка "number" not understood [ shamsi ]
Вторник, 15 октября 2019, 21:10

Здравствуйте Владимир!
Спасибо за ответ.
Пользуюсь ObjectLand 2.6

Вот часть кода в котором происходит полный процесс введший к ошибке:

objGDBFeatureset = objGDBLayer.OpenFeatureset(false);// Получение набора геометрий слоя.
objGDBFeature = objGDBEngine.CreateFeature(GdbSpatialCategories.gdbSpatialCategoryPoint);// Создание точечной геометрии.
objGDBFeature.SetVertex(1, 1, 10, 10, GdbVertexSetModes.gdbVertexInsert);// Установка координаты точечной геометрии.

objGDBFeature.Height = 800; // Установка высоты условного обозначения.
objGDBFeature.ZoomThreshold = 40;// Установка порога увеличения условного обозначения.
objGDBFeature.FeatureType = (GDBFeatureType)objGDBFeatureType;// Установка типа геометрии.
objGDBFeatureset.Feature = (GDBFeature)objGDBFeature;// Добавление созданной геометрии в набор геометрий слоя.
objGDBThemeBrowser.CombineFeatureset(objGDBFeatureset,GdbLogicalOps.gdbLogicalNone);

Как я понял ошибка возникает по причине добавлении, в коллекцию "objGDBFeatureset" новой геометрии добавив строку "objGDBFeatureset = objGDBLayer.OpenFeatureset(false);// Получение набора геометрий слоя." перед методом ".CombineFeatureset();" ошибка устранилась и выделяются все геометрии слоя.

 Ошибка "number" not understood [ Максим Юрьевич Трухачёв ]
Понедельник, 21 октября 2019, 20:43

Последние три строки Вашего кода выглядят так:

objGDBFeature.FeatureType = (GDBFeatureType)objGDBFeatureType;// Установка типа геометрии.
objGDBFeatureset.Feature = (GDBFeature)objGDBFeature;// Добавление созданной геометрии в набор геометрий слоя.
objGDBThemeBrowser.CombineFeatureset(objGDBFeatureset,GdbLogicalOps.gdbLogicalNone);

Возможно, надо так:

objGDBFeature.FeatureType = (GDBFeatureType)objGDBFeatureType;// Установка типа геометрии.
objGDBFeature.Update() // не уверен насчёт скобок, я пишу на VB.Net, там - так;
objGDBFeatureset.Feature = (GDBFeature)objGDBFeature;// Добавление созданной геометрии в набор геометрий слоя.
objGDBThemeBrowser.CombineFeatureset(objGDBFeatureset,GdbLogicalOps.gdbLogicalNone);

Метод Update надо вызывать после всех модификаций свойств, он обновляет запись о Feature в ГБД.

Ответить

Знаком «*» отмечены обязательные для заполнения поля.
Ваше имя:  *
Адрес электронной почты:  
Тема:  *
Сообщение:
 *
Подтверждение:
(не требуется для зарегистрированных пользователей)
 *
 



Copyright © 1999–2020 ГИС ObjectLand
ГИС ObjectLand ® ООО «Радом-АйТи»
Информация о лицензировании
главная | о продукте | скачать | купить | поддержка | новости