1 votos

¿Cómo añadir un ráster a ArcMap si se desconoce el nombre del archivo?

Tengo un archivo raster del que conozco el espacio de trabajo, pero no el nombre del archivo (es un archivo temporal generado por operaciones de mi programa que aleatoriza su nombre al crearlo, es decir, "ras457"). No puedo almacenar el raster en el momento de la generación por varias razones, así que ¿hay alguna manera de coger programáticamente el raster de la carpeta sin saber su nombre exacto y almacenarlo en un IGeoDataset?

La trama se almacena en una carpeta temporal creada cuando ejecuto el programa, por lo que será el único elemento de la carpeta.

Una ruta que he considerado explorar es usar la clase de información de directorio de .NET para obtener los nombres de los contenidos de la carpeta y extraerlo desde allí, pero puede haber una manera más simple de lograr esto que no he considerado.

1voto

lepole Puntos 1588

Me parece que usted podría fácilmente añadir lógica a su programa que almacena el nombre de cadena de la trama que se crea para su uso posterior. Si utiliza un objeto geoprocesador para crear la trama, suele haber una opción para añadir la salida al mapa. Si por alguna razón eso no es posible, entonces usted puede obtener el nombre a través de .NET o ArcObjects. Usted dice que sólo hay un raster poner en un dir temporal. Por lo tanto, usted puede simplemente hacer algo como esto con ArcObjects si usted tiene un objeto IWorkspace llamado tempWorkspace:

IEnumDataset enumDataset = tempWorkspace.get_Datasets(esriDatasetType.esriDTRasterDataset);
IDataset dataset = enumDataset.Next();

o con .NET:

                string[] rasters = Directory.GetFiles(<string path to your workspace>",*.jpg");                      
                foreach (string rasterName in rasters)
                {
                    //DO SOMETHING WITH THE FILE STRING
                }

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X