® ERDAS APOLLO Essentials Image Web Server 2010 Version 10.1 April 2010 Copyright © 2010 ERDAS, Inc. All rights reserved. Printed in the United States of America. The information contained in this document is the exclusive property of ERDAS, Inc. This work is protected under United States copyright law and other international copyright treaties and conventions. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, or by any information storage or retrieval system, except as expressly permitted in writing by ERDAS, Inc. All requests should be sent to the attention of: Manager, Technical Documentation ERDAS, Inc. 5051 Peachtree Corners Circle Suite 100 Norcross, GA 30092-2500 USA. The information contained in this document is subject to change without notice. Government Reserved Rights. MrSID technology incorporated in the Software was developed in part through a project at the Los Alamos National Laboratory, funded by the U.S. Government, managed under contract by the University of California (University), and is under exclusive commercial license to LizardTech, Inc. It is used under license from LizardTech. MrSID is protected by U.S. Patent No. 5,710,835. Foreign patents pending. The U.S. Government and the University have reserved rights in MrSID technology, including without limitation: (a) The U.S. Government has a non-exclusive, nontransferable, irrevocable, paid-up license to practice or have practiced throughout the world, for or on behalf of the United States, inventions covered by U.S. Patent No. 5,710,835 and has other rights under 35 U.S.C. § 200-212 and applicable implementing regulations; (b) If LizardTech's rights in the MrSID Technology terminate during the term of this Agreement, you may continue to use the Software. Any provisions of this license which could reasonably be deemed to do so would then protect the University and/or the U.S. Government; and (c) The University has no obligation to furnish any know-how, technical assistance, or technical data to users of MrSID software and makes no warranty or representation as to the validity of U.S. Patent 5,710,835 nor that the MrSID Software will not infringe any patent or other proprietary right. For further information about these provisions, contact LizardTech, 1008 Western Ave., Suite 200, Seattle, WA 98104. ERDAS, ERDAS IMAGINE, IMAGINE OrthoBASE, Stereo Analyst and IMAGINE VirtualGIS are registered trademarks; IMAGINE OrthoBASE Pro is a trademark of ERDAS, Inc. SOCET SET is a registered trademark of BAE Systems Mission Solutions. Other companies and products mentioned herein are trademarks or registered trademarks of their respective owners. ii Table of Contents Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iii Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Viewing and Printing this Document . . . . . . . . . . . . . .1 Documentation Formats . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Looking Up Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Code listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 About ERDAS APOLLO® Essentials Image Web Server .2 What’s New in Image Web Server . . . . . . . . . . . . . . . .4 New in ERDAS APOLLO Image Web Server 2010 Version 10.1 4 New in ERDAS APOLLO Image Web Server 2010 . . . . . . . . . 4 New in ERDAS Image Web Server 2009 R2.1 . . . . . . . . . . . . 5 New in ERDAS Image Web Server 2009 R2 . . . . . . . . . . . . . 6 New in ERDAS Image Web Server 2009 SP1 . . . . . . . . . . . . 6 New in ERDAS Image Web Server 2009 . . . . . . . . . . . . . . . 7 New in Image Web Server 8.5 SP1 . . . . . . . . . . . . . . . . . . . 7 New in Image Web Server 8.5 . . . . . . . . . . . . . . . . . . . . . . 8 New in Image Web Server 8.1 . . . . . . . . . . . . . . . . . . . . . . 9 New in Image Web Server 8.0 . . . . . . . . . . . . . . . . . . . . . . 9 Supporting Products from ERDAS . . . . . . . . . . . . . . . . . . . 10 Installation and Licensing for Windows. . . . . . . . . . . . . . . . 13 System Requirements . . . . . . . . . . . . . . . . . . . . . . . .13 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Contacting Us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Setting up Image Web Server . . . . . . . . . . . . . . . . . .16 Silent Installation of Image Web Server . . . . . . . . . . . . . . 22 Installing the ECW JPEG 2000 Browser Plug-in . . . . . . . . . . 23 Silent Installation of the ECW JPEG 2000 Plug-in . . . . . . . . 27 Known Installation Issues . . . . . . . . . . . . . . . . . . . . . . . . 28 Licensing Image Web Server . . . . . . . . . . . . . . . . . . .29 Image Web Server Licenses . . . . . . . . . . . . . . . . . . . . . . . 29 How to get your Host ID . . . . . . . . . . . . . . . . . . . . . . . . . 30 How to set up a Floating License Server . . . . . . . . . . . . . . 31 How to Add a Node-Locked License . . . . . . . . . . . . . . . . . . 32 How to Configure Image Web Server to use a License Server 33 Upgrading From an Earlier Version . . . . . . . . . . . . . . . . . . 34 Installed Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Installation Directory Files and Directories . . . . . . . . . . . . . 35 ECW/JPEG 2000 Tools. . . . . . . . . . . . . . . . . . . . . . . .38 ECWCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 NCSFileReporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 J2ICreator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ECW/JPEG 2000 Image Header Editor . . . . . . . . . . . . . . . . 40 OTDF Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 NCSBmgEditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Table of Contents iii Table of Contents iii ERDAS ER Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ECW Opacity Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Performance Tuning . . . . . . . . . . . . . . . . . . . . . . . . .46 Optimal Tuning for WMS, ImageX and ArcXML . . . . . . . . . . 46 Configuring Hard Drives for Optimized Tile Delivery . . . . . . 52 Performance Tuning the IIS 6.0 Log Files . . . . . . . . . . . . . 52 Limiting the System Cache Size . . . . . . . . . . . . . . . . . . . . 52 Altering the Image Web Server Cache . . . . . . . . . . . . . . . . 53 JavaScript Restrictions with Pages from Different Do- mains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 Installation and Licensing for Linux/Solaris . . . . . . . . . . . . . 55 System Requirements . . . . . . . . . . . . . . . . . . . . . . . .55 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Installing Image Web Server. . . . . . . . . . . . . . . . . . .55 Configuration for Image Web Server Console. . . . . . .58 Licensing Image Web Server . . . . . . . . . . . . . . . . . . .58 Advanced Installation Steps for Linux/Solaris . . . . . .59 Optimizing Image Web Server . . . . . . . . . . . . . . . . . . . . . 59 Important Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Uninstalling Image Web Server for Linux/Solaris . . .61 Automatic uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Manual uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Known Issues and Limitations. . . . . . . . . . . . . . . . . .61 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Internet Information Services (IIS) . . . . . . . . . . . . .63 ECWP Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Image Web Server Console Access Restriction . . . . . . . . . . 63 Image Files on a Remote Windows Server or NAS . . . . . . . . 65 Image Web Server Console . . . . . . . . . . . . . . . . . . . .67 Local Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Remote Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Connect Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Files Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Activity Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 ArcXML Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Preference Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Help Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 About Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Image Directories . . . . . . . . . . . . . . . . . . . . . . . . . . .93 Advanced Configuration . . . . . . . . . . . . . . . . . . . . . .96 Disabling Automatic J2I Creation . . . . . . . . . . . . . . . . . . . 96 ImageX Scale Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Setting Up ArcXML/WMS Service . . . . . . . . . . . . . . . .96 WMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 iv Table of Contents Adding a Directory of Images . . . . . . . . . . . . . . . . . . . . . . 97 Adding a Single Image . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Advanced WMS Service Configuration . . . . . . . . . . . . . . . . 99 WMS-C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 ArcXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 Sharing Imagery using the ArcXML Protocol . . . . . . . . . . . 106 Using Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . .108 Limitations of Algorithm Support . . . . . . . . . . . . . . . . . . 108 When Should I Use Algorithms? . . . . . . . . . . . . . . . . . . . 109 Creating an Algorithm with ERDAS ER Mapper . . . . . . . . . 109 Serving an Algorithm with Image Web Server . . . . . . . . . 115 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 Restricting Image Access . . . . . . . . . . . . . . . . . . . . . . . . 117 SSL Security (ecwps://) . . . . . . . . . . . . . . . . . . . . . . . . 119 Advanced Security . . . . . . . . . . . . . . . . . . . . . . . . .121 How it Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 XML Format and Examples . . . . . . . . . . . . . . . . . . . . . . . 122 Region-Based Security . . . . . . . . . . . . . . . . . . . . . . . . . 126 How to Set Client Credentials . . . . . . . . . . . . . . . . . . . . . 128 Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Client Proxy Configuration . . . . . . . . . . . . . . . . . . .147 Proxy Authentication. . . . . . . . . . . . . . . . . . . . . . . .148 Requirements for Proxy Authentication . . . . . . . . . . . . . . 148 Port Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Coordinate System Support . . . . . . . . . . . . . . . . . . .149 Understanding Map Projections . . . . . . . . . . . . . . . . . . . . 149 Map Projections in Image Web Server . . . . . . . . . . . . . . . 152 Adding Custom EPSG to Datum/Projection Mappings . . . . . 155 Reprojection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Setup/Update Datum Shift Tables in Plug-ins . . . . . . . . . . 157 Other Image Web Server Issues . . . . . . . . . . . . . . .158 Protocols and Data Formats . . . . . . . . . . . . . . . . . . . . . . 161 Image Web Server Data Formats . . . . . . . . . . . . . . .161 What is ECW? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 What is JPEG 2000? . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ECW Vs JPEG 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 What is GeoTIFF? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 What is MrSID? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 What is IMAGINE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 What is OTDF? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 What is Wavelet Compression? . . . . . . . . . . . . . . . . . . . . 170 Why are some JPEG 2000 Files Slow to View? . . . . . . . . . 170 How to create JPEG 2000 Files for Streaming . . . . . . . . . . 170 Image Web Server Protocols . . . . . . . . . . . . . . . . . .170 Open Geospatial Consortium Web Map Service (OGC WMS) 171 ESRI/ArcXML Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . 175 ERDAS Compressed Wavelet Protocol (ECWP) . . . . . . . . . 176 JPEG 2000 Interactive Protocol (JPIP) . . . . . . . . . . . . . . . 180 ImageX (Image Extractor for HTML) . . . . . . . . . . . . . . . . 180 Table of Contents v Discovery Service . . . . . . . . . . . . . . . . . . . . . . . . . .190 Discover Service Parameters . . . . . . . . . . . . . . . . . . . . . 190 Recursive Request Example . . . . . . . . . . . . . . . . . . . . . . 191 JSON Request Example . . . . . . . . . . . . . . . . . . . . . . . . . 194 Incremental Request Example . . . . . . . . . . . . . . . . . . . . 196 JSON Callback Function . . . . . . . . . . . . . . . . . . . . . . . . . 196 Image Web Server Statistics Generation. . . . . . . . . . . . . . 199 Technical Information. . . . . . . . . . . . . . . . . . . . . . .199 Database Schema . . . . . . . . . . . . . . . . . . . . . . . . . .199 Tables Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Enabling Statistics in Image Web Server . . . . . . . . .203 Using Advanced Security . . . . . . . . . . . . . . . . . . . . . . . . 203 Interpreting the Results . . . . . . . . . . . . . . . . . . . . .203 ImageX Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 ECWP Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 JPIP Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Querying the Database Example . . . . . . . . . . . . . . . . . . . 204 Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Size of the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Time Field - Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Sample Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Integration for Third Party Applications . . . . . . . . . . . . . . 207 ArcGIS Server ECW Connector . . . . . . . . . . . . . . . . .207 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 How to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Tutorials Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211 Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Tutorial Site HTML Overview . . . . . . . . . . . . . . . . . .211 Description of the Tutorial Pages . . . . . . . . . . . . . .212 Loading the Tutorial Pages . . . . . . . . . . . . . . . . . . .213 Index.htm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214 Data Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Optimized Tile Delivery . . . . . . . . . . . . . . . . . . . . . .217 ECW and JPEG 2000 Mosaics . . . . . . . . . . . . . . . . . . . . . 217 Creating an Algorithm Using ER Mapper for Processing with the OTDF Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 OTDF Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 OTDF Builder GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 OTDF Builder Command Line Utility . . . . . . . . . . . . . . . . 224 ECW Opacity Builder . . . . . . . . . . . . . . . . . . . . . . . .225 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 vi Table of Contents Creating a New ECW File (-o) . . . . . . . . . . . . . . . . . . . . . 226 Updating an Existing ECW File (-overwrite) . . . . . . . . . . . 226 API Reference Layered View . . . . . . . . . . . . . . . . . . . . . . 227 NCSLayeredView Methods . . . . . . . . . . . . . . . . . . . .228 AddLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Attach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 CaptureView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Detach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 DeleteAllLayers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 DeleteLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 GetAttachPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 GetBottomRightWorldCoordinateX . . . . . . . . . . . . . . . . . 232 GetBottomRightWorldCoordinateY . . . . . . . . . . . . . . . . . . 233 GetCoordEasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 GetCoordLatitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 GetCoordLongitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 GetCoordNorthing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 GetGeolinkMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 GetLastErrorText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 GetLayerCellSizeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 GetLayerCellSizeY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 GetLayerCellUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 GetLayerDatum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 GetLayerFileName . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 GetLayerImageBottomRightWorldCoordinateX . . . . . . . . . 238 GetLayerImageBottomRightWorldCoordinateY . . . . . . . . . 238 GetLayerImageSizeX . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 GetLayerImageSizeY . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 GetLayerImageTopLeftWorldCoordinateX . . . . . . . . . . . . . 240 GetLayerImageTopLeftWorldCoordinateY . . . . . . . . . . . . . 240 GetLayerIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 GetLayerName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 GetLayerParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 GetLayerProjection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 GetLayerRGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 GetLayerSourceCoordSys . . . . . . . . . . . . . . . . . . . . . . . 242 GetLayerTransparency . . . . . . . . . . . . . . . . . . . . . . . . . 242 GetLayerType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 GetLayerVisibleImageBottomRightWorldCoordinateX . . . . . 243 GetLayerVisibleImageBottomRightWorldCoordinateY . . . . . 244 GetLayerVisibleImageTopLeftWorldCoordinateX . . . . . . . . 244 GetLayerVisibleImageTopLeftWorldCoordinateY . . . . . . . . 245 GetNumberLayers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 GetPercentComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 GetPointerMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 GetTargetCoordSys . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 GetTopLeftWorldCoordinateX . . . . . . . . . . . . . . . . . . . . . 247 GetTopLeftWorldCoordinateY . . . . . . . . . . . . . . . . . . . . . 247 GetVersionString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 GetViewHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 GetViewWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 MoveLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Table of Contents vii Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 SetBackGroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 SetExtents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 SetExtentsAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 SetGeolinkMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 SetLayerClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 SetLayerClipRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 SetLayerParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 SetLayerRotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 SetLayerTransparency . . . . . . . . . . . . . . . . . . . . . . . . . . 252 SetPointerMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 SetTargetCoordSys . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 SetLayerVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 SetParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 NCSLayeredView Parameters. . . . . . . . . . . . . . . . . .256 NCSLayeredView Events . . . . . . . . . . . . . . . . . . . . .259 MouseDown, MouseUp,MouseMove . . . . . . . . . . . . . . . . . 259 ExtentChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 GeolinkModeChange . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 LayerResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 PointerModeChange . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 PercentComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 DrawBegin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 DrawEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 JavaScript Callback Functions Explained . . . . . . . . .263 SimpleVector Layer Explained . . . . . . . . . . . . . . . . . . . . 270 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Geolinking Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 JavaScript Utility Functions. . . . . . . . . . . . . . . . . . .275 NCSCreateView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 NCSCreateJSToolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 JavaScript Controls . . . . . . . . . . . . . . . . . . . . . . . . .276 NCSToolbar.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 NCSProgressbar2.js . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Designing your Web Pages . . . . . . . . . . . . . . . . . . . . . . . 281 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281 Common Problems and Solutions. . . . . . . . . . . . . . .281 Creating Custom Zoom Icons and Toolbars . . . . . . . . . . . 281 Using Frames to Create Auto Resizable ECW Objects . . . . 282 Creating Adjoining Resizable ECW Objects . . . . . . . . . . . . 283 Troubleshooting JavaScript . . . . . . . . . . . . . . . . . . . . . . 284 Using JavaScript with Frames . . . . . . . . . . . . . . . . . . . . . 285 Search Engines Pointing to a Sub-Frame . . . . . . . . . . . . . 286 Using Objects in Multiple Frames . . . . . . . . . . . . . . . . . . 287 OBJECT NOT FOUND Error on Refresh . . . . . . . . . . . . . . . 287 Frame Declaration Problem . . . . . . . . . . . . . . . . . . . . . . 288 Firefox Error when getting width/height . . . . . . . . . . . . . 289 Using DHTML to Create an ECW Object . . . . . . . . . . . . . . 289 Using DHTML to Create Multiple ECW Objects . . . . . . . . . . 290 Incorrect Extents with Second ECW Object . . . . . . . . . . . 291 viii Table of Contents Converting JavaScript Strings to Numbers . . . . . . . . . . . . 291 The ECW Object loses its Properties in Firefox after it’s CSS “Display” attribute is set to “none” . . . . . . . . . . . . . . . . . 291 The PNG Overlay image has a black background where it should be transparent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293 Layered View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Progress Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 World Coordinate Information. . . . . . . . . . . . . . . . .297 Datum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 EPSG Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Coordinate Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Priority of Registration Information in a JPEG 2000 File . . . 303 Extent types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303 Image World Coordinates . . . . . . . . . . . . . . . . . . . . . . . 303 View World Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . 304 Visible Image World Coordinates . . . . . . . . . . . . . . . . . . 304 Examples of Extent Coordinate Types . . . . . . . . . . . . . . . 304 Calculating a Centroid and Scale for a View . . . . . . . . . . . 310 Setting Extents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 ImageX Creating JPEG Preview Images . . . . . . . . . .312 Installation of ECW and JPEG 2000 Controls . . . . . .312 HTML Editors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 NCSRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 GIS Map Server Integration. . . . . . . . . . . . . . . . . . .319 Map Server Overlays . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Uses of Map Server Overlays . . . . . . . . . . . . . . . . . . . . . 321 What Map Server Integration Does . . . . . . . . . . . . . . . . . 321 Interactive Shading of Map Colors Over Imagery. . . . . . . . 322 Reduced GIS Map Server Loads . . . . . . . . . . . . . . . . . . . 323 How Map Server Overlays Work . . . . . . . . . . . . . . . . . . . 323 Designing Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Requirements Before You Start . . . . . . . . . . . . . . . . . . . 324 Style and Implementation Guides . . . . . . . . . . . . . . . . . . 324 Map Projections Supported. . . . . . . . . . . . . . . . . . . . . . . 339 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339 Background Information . . . . . . . . . . . . . . . . . . . . .339 Geodetic Datum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 European Petroleum Survey Group . . . . . . . . . . . . . . . . . 341 Map Projections in Image Web Server . . . . . . . . . . .342 Geodetic Datum/Projection to EPSG Mapping . . . . . . . . . . 342 Datum Shift Configuration File . . . . . . . . . . . . . . . . . . . . 342 New Map Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Common Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Table of Contents ix GIS Map Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 GIS Map Server Integration. . . . . . . . . . . . . . . . . . .347 Map Server Information . . . . . . . . . . . . . . . . . . . . . . . . . 347 Integration with MapServer . . . . . . . . . . . . . . . . . .347 MapServer 4.10.1 Installation . . . . . . . . . . . . . . . . . . . . 348 MapServer Demo Installation and Testing . . . . . . . . . . . . 350 Creating a Integrated MapServer and Image Web Server Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Integration with ESRI® ArcIMS® map server . . . . .357 Using ArcXML Example . . . . . . . . . . . . . . . . . . . . . . . . . 358 Integration with the US Census Bureau Tiger Mapping Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359 URL Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Sample Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361 Sample Site HTML Overview . . . . . . . . . . . . . . . . . .361 Layout of Advanced Samples . . . . . . . . . . . . . . . . . . . . . 361 Java Script Classes Overview . . . . . . . . . . . . . . . . .362 NCSCheck.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 NCSCheckActiveX.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . 363 NCSConstants.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 NCSControl.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 NCSCreateView.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 NCSOverlayRect.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 NCSProgressbar.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 NCSProgressbar2.js . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 NCSSlider.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 NCSSymbols.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 NCSToolbar.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 NCSVectorLayer.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Sample Pages Description . . . . . . . . . . . . . . . . . . . .370 Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Loading the Sample Pages. . . . . . . . . . . . . . . . . . . .371 Index.htm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Simple Native ECW Plug-in Example . . . . . . . . . . . . . . . . 375 Simple HTML Plug-in-less Example . . . . . . . . . . . . . . . . . 377 Simple Reprojection (Native) . . . . . . . . . . . . . . . . . . . . . 378 Simple Reprojection (HTML) . . . . . . . . . . . . . . . . . . . . . . 380 Simple ECW View Example . . . . . . . . . . . . . . . . . . . . . . . 381 Geolink Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 Scripting the View Extents . . . . . . . . . . . . . . . . . . . . . . . 386 Calculate Ground Scale . . . . . . . . . . . . . . . . . . . . . . . . . 388 Multiple Layers Example . . . . . . . . . . . . . . . . . . . . . . . . 390 Rotate an Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Database Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Emailing a JPEG View . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Click-Through Symbols . . . . . . . . . . . . . . . . . . . . . . . . . 398 Area of Interest Overview . . . . . . . . . . . . . . . . . . . . . . . 400 Generating JPEG Thumbnails . . . . . . . . . . . . . . . . . . . . . 401 x Table of Contents
Description: