The Harris Geospatial maintenance program allows you to pay a reasonable yearly fee and receive new products versions and updates as they become available, as well as access to maintenance account managers.
Monday, November 28, 2016
Note: If you are new to IDL or upgrading from an older version, see also:
IDL now has a mechanism to automatically check for updates on startup. If a new version is available, IDL will report this in the output console. This feature may be enabled or disabled using the new IDL_UPDATE_CHECK preference or by using the Preferences dialog in the IDL Workbench.
IDL Tasks are an object-oriented API to encapsulate IDL procedures.
IDL Tasks provide the following to users:
IDL Tasks provide the following to developers:
If you have an application using the IDL Task Engine and want task information, use IDLQueryTaskTask and IDLQueryAllTasksTask.
See the "Custom Tasks" topic for details on creating tasks.
In addition to the introduction of an IDLTask, an IDLTask Engine has been provided to run IDLTasks in command-line environments. You can plug IDL into applications in different programming languages or environments that share information. The environments must be able to handle standard streams (stdin, stdout, and stderr).
You can use the new NCDF_PARSE function to parse through a NetCDF-3 or NetCDF-4 file and return the contents as a hash containing all of the file information and data.
The new NCDF_IS_NCDF function will let you determine if a file is in the NetCDF-3 format.
IDL licensing is now managed through a 3rd-party solution from Flexera software. You obtain the license through a portal hosted by Flexera, then you can choose to activate the license on a license server or on an individual node-locked machine. Details about licensing IDL are documented in a standalone topic outside this help.
When you use a C printf-style format string with IDL's input/output routines, you can now specify the string directly without the need for extra parentheses or the opening % character. For example, instead of:
PRINT, INDGEN(3), FORMAT = '(%"The values are: %d %d %d")'
You can now simply write:
PRINT, INDGEN(3), FORMAT = 'The values are: %d %d %d'
For backwards compatibility you can still use the older style. For more details, see the "Using Formatted Input and Output" topic.
The graphics functions now use the DejaVuSans font by default. This produces better-looking text in plots and visualizations. If desired, you can use the FONT_NAME property to switch back to the default "Helvetica" font. See PLOT, TEXT, or any of the other graphics functions for details.
IDL now comes with four new fonts: DejaVuSans Italic, DejaVuSans Bold, DejaVuSans Bold Italic, and a custom DejaVuSymbol font which includes many useful math symbols. These fonts can be used with direct, object, or new graphics, and can also be accessed through the Embedded Formatting Commands. See the "Using TrueType Fonts" topic for a map of the new DejaVuSymbol font.
The TEXT graphics function now uses the new DejaVuSymbol font for math symbols. See the TEXT function for details.
In the Python-to-IDL bridge, when an IDL command encounters a syntax or runtime error, the bridge will now throw an IDLError exception and halt execution of your Python script. You can use the standard Python try/except block to catch these errors if desired. See the "Python to IDL Bridge" documentation for details.
Note: To take advantage of the new error handling, when you import the "idlpy" library into Python you should now import the entire module, not just the IDL class:
>>>from idlpy import *
IDLError Traceback (most recent call last)
IDLError: % Syntax error.
The IDL IPython (Jupyter) Notebook now supports multi-line IDL code blocks. You can now include statements such as FOR BEGIN/END or IF/THEN blocks, or even compile functions and procedures. See the "IDL Notebook Kernel" topic for details.
The IDL IPython (Jupyter) Notebook now supports magic commands that control the notebook behavior. The available commands allow you to embed HTML, run arbitrary Python code, and switch from inline to windowed graphics. See the "IDL Notebook Kernel" topic for details.
Normally, when you compile a file in IDL or restore a SAVE file, all of the new routines will replace any existing routines. This can cause issues if you have an application that is already running (ENVI for example) and you restore a SAVE file that contains old code. To avoid this issue, you can use the new SKIP_EXISTING keyword on RESTORE, RESOLVE_ROUTINE, and RESOLVE_ALL.
The SYSTIME function has a new ELAPSED keyword which replaces the ElapsedSeconds argument. The SecondsFlag and ElapsedSeconds arguments have been obsoleted but will continue to work in existing code. New code should use the SECONDS and ELAPSED keywords instead. See SYSTIME for details.
You can now create a timer that will repeat at precise intervals, regardless of the time that IDL spends processing the timer callback. See the new REPEAT keyword in Timer.Set.
© 2016 Exelis Visual Information Solutions, Inc., a subsidiary of Harris Corporation. All Rights Reserved. This information is not subject to the controls of the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR). However, this information may be restricted from transfer to various embargoed countries under U.S. laws and regulations.
Number of views (4220)/Comments (0)
Sign Up for News & Updates: Stay informed with the latest news, events, technologies and special offers.