Страница 1 из 1

Добавление новой темы AVENUE

Добавлено: 27 июн 2011, 13:13
zAlexz
Здравствуйте, с недавнего времени изучаю AVENUE, никак не могу разобратся с добавлением новой темы, в примерах встретил следующий код,

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

theView = av.FindDoc("View1")
tbl = FTab.MakeNew("c:\test.shp".AsFileName, point)
theTheme = FTheme.Make(tbl)
theView.AddTheme(theTheme)

насколько я понял point здесь тип добавляемой темы, а вот какой должен быть тип темы если добавляется изображение jpg или tif,и ещё при добавлении точечного shapefile он добавляется во вьювер, но не отображается. Даже при указании проекции через интрефейс программы .

Re: Добавление новой темы AVENUE

Добавлено: 27 июн 2011, 22:03
ggis
"не могу разобратся с добавлением новой темы"-созданием нового или начитыванием существующего шейп слоя?
в примере показано создание нового точечного слоя.
"при добавлении точечного shapefile он добавляется во вьювер, но не отображается"-скорее всего он пустой

Re: Добавление новой темы AVENUE

Добавлено: 27 июн 2011, 22:06
Максим Дубинин
так у вас же чистая новая тема, что там отображать?

про ImgSrc и ITheme

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

SN = SrcName.Make("C:.RS")
 MyImageSrc = ImgSrc.Make(SN)
 MyITheme = ITheme.MakeFromSrc(MyImageSrc)
 MyView = av.GetActiveDoc
 MyView.AddTheme(MyITheme)
 MyITheme.SetVisible(TRUE)

Re: Добавление новой темы AVENUE

Добавлено: 28 июн 2011, 14:01
zAlexz
А в объект SrcName прописываем path до того файла который добавляем в тему так?
и про объект ITheme можно подробнее что ещё он позволяет делать?

Re: Добавление новой темы AVENUE

Добавлено: 28 июн 2011, 22:52
Максим Дубинин
ITheme - аналог Theme для изображений

мне кажется вам все-таки стоит заглянуть в справку, не хочется пересказывать

Re: Добавление новой темы AVENUE

Добавлено: 29 июн 2011, 13:50
zAlexz
Хорошо, спасибо))))

Re: Добавление новой темы AVENUE

Добавлено: 01 июл 2011, 08:47
zAlexz
Получился следующий код

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

myPlace=SrcName.Make("D:\GIS\avenue_test\test.tif")
PathtoMyImage=ImgSrc.Make(myPlace)
ImageTheme=ITheme.MakeFromSrc(PathtoMyImage)
CurrentView=av.GetActiveDoc
CurrentView.AddTheme(ImageTheme)
ImageTheme.SetVisible(TRUE)
ImageTheme.SetActive(TRUE)
Но только в результате выполнения он жалуется на путь до файла. (Image Source test.tif has error unable to make theme) слэш на обратный в пути я уже менял , без кавычек тоже пробовал. Оба файла в одной папке , пробовал относительный путь тоесть просто имя файла. Никак не могу понять в чём проблемма

Re: Добавление новой темы AVENUE

Добавлено: 01 июл 2011, 10:11
Максим Дубинин
у меня этим кодом загружается без проблем, проверьте загружается ли этот tif через интерфейс, может он сжат LZW или еще какая странность

Re: Добавление новой темы AVENUE

Добавлено: 04 июл 2011, 08:36
zAlexz
Всё, спасибо разобрался во первых и правда tif какой то странный после всех экспериментов он и через интерфейс не загружался. Ну и кроме того оказывается ActiveDoc работает нормально только если последний активный документ был , мой View, этого я как то сразу тоже не учёл)).