Формирование карты .mxd из тайлов

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

Можно ли с помощью GeoProcessingLibrary сформировать слой из, например, 100 тайлов, причем тайлы с разными таблицами цветов?
Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Формирование карты .mxd из тайлов

Сообщение Дмитрий Барышников »

novice писал(а):Можно ли с помощью GeoProcessingLibrary сформировать слой из, например, 100 тайлов, причем тайлы с разными таблицами цветов?
Что вам не понятно в ранее приведенной ссылке: http://resources.esri.com/help/9.3/arcg ... erview.htm ?
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

Можете, пожалуйста, скинуть код, где формируется слой из тайлов средствами ArcGis.
Последний раз редактировалось novice 25 окт 2012, 17:24, всего редактировалось 1 раз.
Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Формирование карты .mxd из тайлов

Сообщение Дмитрий Барышников »

Прочитайте! http://wiki.gis-lab.info/w/%D0%9A%D0%B0 ... 0%B5%D1%82

[ Сообщение с мобильного устройства ]
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

На поставленный мной вопрос ответа не было, тот ответ который был дан(gdalbuildvrt) не подходит, т.к. эта утилита не способна сформировать один слой даже из 4 тайлов, если у них разные таблицы цветов, легче уж самому написать прогу, формирующую картинку из кусочков.
Вопрос был адресован тем, кто работал с ArcGis, тем более поставленная мной задача была решена года 4 назад. Если не сложно и не жалко, то скиньте, пожалуйста, ссылку на код.
Или хотя бы пример, как программно запихать тайлы в RasterDataset.
dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Формирование карты .mxd из тайлов

Сообщение dime1 »

Я прошу прощения, но вы же недавно пытались сделать mosaic dataset. Как и raster dataset для неё не обязательно иметь слой .mxd карты, она может быть создана в базе геоданных, а потом уже добавлена в карту и сохранена в .mxd (например, чтоб постоянно не настраивать RGB для отображения многоканальных растров, либо сохранить настройки strech), хотя это также можно сделать в свойствах самой mosaic/raster dataset посредством функций. В общем сначала создание dataset, а потом всё остальное.
По коду не подскажу, возможно другие знают.
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

Спасибо, а кто-нибудь разбирался с кодом примера CreateFileRasterMosaic из DeveloperKit10.1. Там по идеи как раз слой из кучи картинок формируется. Подскажите, пожалуйста, какие там там входные данные.
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

И есть ли книжки вроде Engine_Developers_Guide.pdf но для 10 версии arcgis?
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

Вопрос снят, всем спасибо.
dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Формирование карты .mxd из тайлов

Сообщение dime1 »

ну так хоть решение скажите)
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

Проблема была в том, что у меня стоял Arc Gis 10.1(для него не было Engine), я поставил ArcGis 10 и тестовые примеры заработали. Но вот проблема, когда ArgGis строит mosaic dataset, а затем из него формирует файл tif, то все тайлы отображаются очень хреново(цвета портятся). Подскажите, пожалуйста, что надо сделать(или хотя бы в каком направлении двигаться), чтобы каждый тайл отображался в своей палитре?
dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Формирование карты .mxd из тайлов

Сообщение dime1 »

цвет портиться... а поточнее? Разрешение изображений хоть нормальное? Возможно при создании мозаики применяется stretch function (standart deviations, percent clip и т.д.), тогда изображение чаще всего "пересвеченное", а может вам нужно настроить Mosaic colormap mode.
Возможно вы еще захотите настроить color balance (чтоб не было сильного перехода цветов между растрами), но это уже окончательный этап создании мозаики растров.
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

Количество тайлов в мозайке совпадает, разрешение тоже нормальное, но палитра странная.
Вложения
оригинальный цвет
оригинальный цвет
OriginalColor.png (47.36 КБ) 8103 просмотра
Цвет, который создает mosaic
Цвет, который создает mosaic
mosaiColor.tif (68.25 КБ) 8103 просмотра
dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Формирование карты .mxd из тайлов

Сообщение dime1 »

не видно mosaicColor.tif
но в любом случае настройки цвета в ПКМ слой мозаики Symbology
novice
Гуру
Сообщения: 527
Зарегистрирован: 21 окт 2012, 00:17
Репутация: 15
Ваше звание: developer

Re: Формирование карты .mxd из тайлов

Сообщение novice »

Проблема в том, что colormap у всех картинок разные, и когда из директории(где лежат исходные картинки с привязками) я формирую RasterCatalog, то в colormap RasterCatalog будет много черных цветов, кроме того размер у RasterCatalog будет всегда 512x512 пикселей, когда для 1 слоя он должен быть 256x256 , для 3 слоя 1024x1024

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

WorkspaceToRasterCatalog wsToRasterCatalog = new WorkspaceToRasterCatalog();

wsToRasterCatalog.in_raster_catalog = tempRasterCatalogPath; //путь, где создастся RasterCatalog 
wsToRasterCatalog.in_workspace = inputFolder; // путь к директории с файлами, из которых будет сформирован RasterCatalog 
wsToRasterCatalog.include_subdirectories = "INCLUDE_SUBDIRECTORIES";

geoprocessor.Execute(wsToRasterCatalog, null);
После из RasterCatalog формируется MosaicRaster.

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

//Mosaics all rasters in the raster catalog to an output raster dataset
IMosaicRaster mosaicRaster = new MosaicRasterClass();
mosaicRaster.RasterCatalog = rasterCatalog;

//Set mosaicking options, you may not need to set these for your data
mosaicRaster.MosaicColormapMode = rstMosaicColormapMode.MM_MATCH;
mosaicRaster.MosaicOperatorType = rstMosaicOperatorType.MT_LAST;

//Open output workspace
IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass();
IWorkspace workspace = workspaceFactory.OpenFromFile(outputFolder, 0);
//Save out to a target raster dataset
//It can be saved to TIFF, IMG, GRID, BMP, GIF, JPEG2000, JPEG, Geodatabase, ect.
ISaveAs saveas = (ISaveAs)mosaicRaster;
saveas.SaveAs(outputName, workspace, "TIFF"); 
Подскажите, пожалуйста, как правильно сфорировать Mosaic, чтобы сохранились все цвета и размер картинок в пикселях
Вложения
размеры картинки должны быть 1024x1024, а здесь 512x512
размеры картинки должны быть 1024x1024, а здесь 512x512
3levelMosaic.png (20.48 КБ) 8078 просмотров
2levelOriginal.png
2levelOriginal.png (47.12 КБ) 8078 просмотров
появился черный цвет, вместо исходного
появился черный цвет, вместо исходного
2levelMosaic.png (48.17 КБ) 8078 просмотров
Ответить

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

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

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