The Top 5 Ways to Retrieve Remote Data in ENVI
1. The Remote Connection Manager
ENVI's Remote Connection Manager allows you to connect to a specified host server, and browse all of its contents. This is an excellent tool for exploring data and finding the dataset that will work best for your situation. The Remote Connection Manager can be accessed in the ENVI interface though the
ENVI main menu bar via File > Remote Connection Manager, or by hitting <Ctrl> + W.
The IDL routine IDLNetURL is a powerful command that creates an IDL object that is able to communicate with HTTP and FTP sites. Once created, the object can be set to communicate with a certain host and path, or make a call to a specific URL with the Get() method. The Get() method returns any information from the server, and has a FILENAME keyword, which can be set to a local location on your hard drive. This will download any returned file from the website, and save it to disk.
3. An Extension that invokes the e.OpenRaster() method
Writing an ENVI extension is a great way to incorporate new workflows or custom algorithms to run on your imagery. If you are writing a new extension, or have custom extension you've already written in ENVI, you can use the OpenRaster method on the ENVI object to open any supported remote dataset. The only required argument for OpenRaster() is a file location, and this includes images that are located on servers or websites.
To create a new template to write your own ENVI extension, click on File > New ENVI Extension... in the IDL main menu bar. Here is an example of a short ENVI extension that opens a dataset specified by a user, then displays it to the screen:
In this example, the file chosen with DIALOG_PICKFILE on line 23 can be a local dataset, or the path to a remote dataset on a server.
4. The ENVI Services Engine
The ENVI Services Engine allows for another degree of control - being able to manipulate your own server. Much like a geodatabase, you can store large amount of data on the server. Unlike a geodatabase however, you can place custom or pre-written ENVI algorithms with the data. This allows for processing of imagery on the server, possibly on multiple machines with multiple cores, to generate an intermediate or final product that can then be added to the collection on the server, or downloaded for use with ENVI. (Among other options like importing the image to your own webpage or interface!)
5. The tried and true - Direct Download
With all of the new tools to access remote data, it almost seems too trivial to simply copy the data down locally. However, if you are feeling old school, copying the data down directly from an FTP or other website is a completely reasonable and viable option. This does increase the time spent retrieving the data, but once you have it on your local drive, it's there until you delete it.