Contents

Overview of ERDAS APOLLO ...... 5 About Us ...... 13

Catalog Web Interface ...... 15 Logging In ...... 15 Browsing and Searching Content ...... 18 Advanced Search ...... 20 Managing Catalog Records ...... 22 ERDAS APOLLO Catalog REST Interfaces ...... 23 Publishing External Content ...... 33 Testing the CSW Endpoint ...... 34 Administration Options ...... 35

Delivering Data ...... 37 Delivering Map Images with a (WMS) ...... 38 Web Map Service Requests ...... 38 GetLegendGraphic Request ...... 39 WMS HTTP POST Requests ...... 39 WSDL and WMS HTTP SOAP Requests ...... 40 Delivering Image Data with a (WCS) ...... 40 Web Coverage Service Requests ...... 41 Requesting a Reference to a Coverage ...... 42 Georeferenced Coverages ...... 43 WSDL and WCS HTTP SOAP Requests ...... 46 Delivering Image and Point Cloud Data with Streaming Services ...... 46 Delivering Vectors/Features with a (WFS) ...... 48 Web Feature Service Requests ...... 48 WSDL and WFS SOAP Requests ...... 50 OGC Compliant HTTP Request Samples ...... 50

Portraying and Styling Data ...... 53 Style Templates ...... 54 Creating Styles ...... 55 Creating Styles with Properties ...... 56 Creating Styles with SLD ...... 56 Deploying Styles ...... 64 Displaying Statistics in a Map ...... 65 Producing KML...... 67 Limitations ...... 70 Coverage Portrayal Service (CPS) ...... 70 Operational Concept ...... 71 Styled Layer Descriptor (SLD) ...... 72 ERDAS APOLLO Style Editor ...... 85 Starting the ERDAS APOLLO Style Editor ...... 86 Main Window ...... 87

1

Contents

Preferences ...... 89 Managing Projects ...... 90 Data Sources ...... 92 Layers ...... 106 Map Navigation ...... 111 Views ...... 117 Styling Data ...... 120 Managing Styles ...... 121 Scale Range Management ...... 125 Style Rules ...... 126

Business Data in the Catalog ...... 186

Coordinate Reference Systems ...... 191 Coordinate Reference System Engines ...... 191 Passing CRS Parameters in Web Requests ...... 192 Adding a Custom CRS ...... 192 Adding a Custom ERDAS APOLLO Coordinate Reference System ...... 193 Adding a Custom ERDAS IMAGINE Coordinate Reference System ...... 200 Adding a Custom Geospatial SDI Coordinate Reference System ...... 201

Troubleshooting ...... 211 Checking for Unsupported EPSG Code Failures during a WMS Request ...... 211 Checking for Unsupported EPSG Code Failures When Crawling Vector Data ...... 212

Appendix A: Coordinate Reference Systems ...... 215 ERDAS APOLLO CRS Definition ...... 215 CRS Configuration Tags...... 215 CRS Definition Tags ...... 218 ERDAS IMAGINE Projection System ...... 228

Appendix B: Schema and Database Mapping for WFS ...... 239 GML Application Schema and Mapping to Databases ...... 239 Key Concepts ...... 241 GML Application Schema ...... 241 Feature and Feature Type ...... 242 Mapping ...... 242 Feature Schema Configuration ...... 243 Feature Mapping ...... 245 Explicit Mapping Definition Steps ...... 249 SQL Mapping Definition Steps ...... 250 Automatic Mapping Definition Steps ...... 252 Relational (Explicit) Mapping Definition Steps ...... 253 Mapping of Enumerations ...... 267 Control Mapping Correctness ...... 271 Moving to GML3 ...... 271 Set Up an ERDAS APOLLO WFS Serving GML-SF (Simple Feature) ...... 274

2

Contents

Feature Mapping Tags ...... 275 Map Generation Transformer ...... 299 Using MapGen ...... 300 MapGen Tags and Attributes ...... 302 MapGen Tag ...... 302 Feature Properties (Re)definition ...... 302 scaleMin and scaleMax ...... 304 Filter - The "Where" Tag ...... 304 The "Last" Tag ...... 306 Warning: MapGen and Portrayal Rules ...... 307 Scale Dependent Table ...... 307 Protecting Data ...... 308 Disabling Interfaces ...... 308 Hiding Columns ...... 309 Disabling Output Formats ...... 310 Adding a Copyright or a Watermark ...... 310 Schema Generator ...... 311 From-SQL Generator ...... 313 WFS Loader ...... 315

Appendix C: Shapefile RTree Builder ...... 321

Technical Support and Information ...... 323

Index ...... 325

3

Contents

4

S E C T I O N 1 Overview of ERDAS APOLLO

About ERDAS APOLLO ERDAS APOLLO is an enterprise-class, comprehensive data management, analysis, and delivery system enabling an organization to catalog, search, discover, process, and securely disseminate massive volumes of both file-based and web-enabled data. This solution consistently delivers virtually any digital object faster and with less hardware than competing server-based products. An interoperable OGC/ISO-based application that implements an out-of-the-box service-oriented architecture (SOA), ERDAS APOLLO is the solution for data management in the overall Hexagon Geospatial server story. Available in three product tiers, ERDAS APOLLO suits a spectrum of organizations – integrating easily with other geospatial software and offering unparalleled performance even when handling massive data archives and many users. ERDAS APOLLO Essentials is the fastest geospatial image and LIDAR server in the world. A single server with standard hardware can serve terabytes of data to thousands of concurrent users. ERDAS APOLLO Essentials works with your GIS to provide geospatial data as quickly as possible. Examples of ERDAS APOLLO Essentials in action can be seen at http://demo-apollo.hexagongeospatial.com/erdas-apollo/. ERDAS APOLLO Advantage is a comprehensive data management and delivery solution providing remarkable business value. This OGC/ISO standards-based solution can organize, securely manage and disseminate data within databases and also massive volumes of dynamic and static images, point cloud data, terrain, vector data, third party web services, and any digital resource in the enterprise. ERDAS APOLLO Advantage is scalable through clustering to meet an organization’s specific needs, ensuring unprecedented performance even when handling the largest data archives.

ERDAS APOLLO Professional is the most advanced product tier of ERDAS APOLLO. It offers on-the-fly geoprocessing through a powerful implementation of the OGC (WPS) specification. Users can run an entire model, such as change detection, site analysis, or elevation change, completely contained within a single web processing service (WPS). ERDAS APOLLO Professional is unrivaled in the complexity of algorithms stored under the hood.

5

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Documentation for ERDAS APOLLO The following documents are installed (or are available for installation) with the product, or they are provided on the delivery media:

Document Description

ERDAS APOLLO Installation and This document contains instructions and descriptions for Configuration Guide installing and initially configuring ERDAS APOLLO. This includes pre-installation, system configuration, installation and configuration of applications via Setup Manager, and some manual post installation configuration. Post installation configuration content is limited to configuration activities that only need to be done once or very rarely. All other configuration and administration related content is described in the ERDAS APOLLO Administrator Guide.

ERDAS APOLLO Administrator Guide This document contains instructions and descriptions for configuring and maintaining an ERDAS APOLLO system after the initial installation and configuration. The primary focus of this document is administration of an ERDAS APOLLO server/system. Content related to how to use ERDAS APOLLO to manage data or services is described in either the ERDAS APOLLO Server User Guide or the ERDAS APOLLO Data Manager User Guide.

ERDAS APOLLO Server User Guide This document contains instructions and descriptions for using ERDAS APOLLO tools, utilities and applications to manage data and services. This document covers all aspects of using ERDAS APOLLO except for ERDAS APOLLO Data Manager which has its own dedicated User Guide. The ERDAS APOLLO Server User Guide includes documentation for foundational concepts such as web services, OGC services, data formats and coordinate references systems. It also as includes documentation for using the ERDAS APOLLO Catalog Web Interface, the ERDAS APOLLO Streaming Test Page and the ERDAS APOLLO Style Editor.

ERDAS APOLLO Data Manager User This document contains instructions and descriptions for Guide using ERDAS APOLLO Data Manager. ERDAS APOLLO Data Manager is designed to be the primary day to day user interface for managing data and services in ERDAS APOLLO.

6

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

ERDAS APOLLO Supported A PDF file that lists the supported software configurations Environments (required and optional) for the product.

ERDAS APOLLO Release Notes A PDF file that lists the enhancements for the current release.

ERDAS APOLLO Issues Resolved A PDF file that lists the product defects that have been fixed for the current release.

The current versions of the Supported Environments, Release Notes, and Issues Resolved documents are available on the Contact Support https://sgisupport.intergraph.com/infocenter/index?page=contact_support page. They can also be accessed via links on the Intergraph Setup Manager dialog.

ERDAS APOLLO Welcome Page After installing and configuring ERDAS APOLLO open the ERDAS APOLLO Welcome Page in a web browser. The default URL of the ERDAS APOLLO welcome page is: http://:/erdas-apollo

7

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

See the ERDAS APOLLO Advantage/Professional Installation and Configuration Guide for complete instructions on installing and configuring ERDAS APOLLO.

From this web page, you can access many ERDAS APOLLO tools and documents. In addition, links to certain tools and documents for ERDAS APOLLO Essentials and Geospatial Portal are also included.

8

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

See the Geospatial Portal User Guide or the Geospatial Portal Administrator Guide for detailed information using Geospatial Portal.

9

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Copyright © 2007 - 2014 Intergraph® Corporation and/or its affiliates. All Rights Reserved. Warning: This computer program, including software, icons, graphical symbols, file formats, and audio-visual displays; may be used only as permitted under the applicable software license agreement; contains confidential and proprietary information of Intergraph and/or third parties which is protected by patent, trademark, copyright and/or trade secret law and may not be provided or otherwise made available without proper authorization. Restricted Rights Legend Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c) (1) and (2) of Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Unpublished - rights reserved under the copyright laws of the United States. Intergraph Corporation P.O. Box 240000 Huntsville, AL 35813 Terms of Use Use of this software product is subject to the End User License Agreement ("EULA") delivered with this software product unless the licensee has a valid signed license for this software product with Intergraph Corporation. If the licensee has a valid signed license for this software product with Intergraph Corporation, the valid signed license shall take precedence and govern the use of this software product. Subject to the terms contained within the applicable license agreement, Intergraph Corporation gives licensee permission to print a reasonable number of copies of the documentation as defined in the applicable license agreement and delivered with the software product for licensee's internal, non-commercial use. The documentation may not be printed for resale or redistribution. Warranties and Disclaimers All warranties given by Intergraph Corporation about software are set forth in the EULA provided with the software or with the applicable license for the software product signed by Intergraph Corporation, and nothing stated in, or implied by, this document or its contents shall be considered or deemed a modification or amendment of such warranties. Intergraph and its suppliers believe the information in this publication is accurate as of its publication date. The information and the software discussed in this document are subject to change without notice and are subject to applicable technical product descriptions. Intergraph Corporation and its suppliers are not responsible for any error that may appear in this document. Trademarks Intergraph, the Intergraph logo, and GeoMedia are registered trademarks of Intergraph Corporation. Hexagon and the Hexagon logo are registered trademarks of Hexagon AB or it subsidiaries. Microsoft and Windows are registered trademarks of Microsoft Corporation. Bing is a trademark of Microsoft Corporation. Google Maps is a trademark of Google Incorporated. Pictometry Intelligent Images is a registered trademark of Pictometry International Corporation. ERDAS, ERDAS IMAGINE, Stereo Analyst, IMAGINE Essentials, IMAGINE Advantage, IMAGINE Professional, IMAGINE VirtualGIS, Mapcomposer, Viewfinder, Imagizer, LPS, and ERDAS APOLLO are registered trademarks and exclusive property of Intergraph Corporation. Other brands and product names are trademarks of their respective owners. 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

10

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

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. Portions of the user interface copyright 2013 Telerik AD.

11

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

12

About Us Hexagon Geospatial helps you make sense of the dynamically changing world. Hexagon Geospatial provides the software products and platforms to a large variety of customers through direct sales, channel partners, and Hexagon businesses, including the underlying geospatial technology to drive Intergraph Security, Government & Infrastructure (SG&I) industry solutions. Hexagon Geospatial is a division of Intergraph Corporation. CUSTOMERS. Globally, a wide variety of organizations rely on our products daily including local, state and national mapping agencies, transportation departments, defense organizations, engineering and utility companies and businesses serving agriculture and natural resource needs. Our portfolio enables these organizations to holistically understand change and use information to make mission and business-critical decisions. TECHNOLOGY. Our priority is to deliver products and solutions that make our customers successful. Hexagon Geospatial is focused on developing leading-edge technology that is easily configurable. Through extensible, scalable and collaborative products, we enable you to transform multi-source content into dynamic and actionable information. We are constantly re-conceptualizing and improving our products. PARTNERS. As an organization, we are partner-focused, working alongside our channel to ensure we succeed together. We provide the right tools, products and support to our business partners so that they may successfully deliver sophisticated solutions for their customers. We recognize that we greatly extend our reach and influence by cultivating channel partner relationships both inside and outside of Hexagon. TEAM. As an employer, we recognize that the success of our business is the result of our highly motivated and collaborative staff. At Hexagon Geospatial, we celebrate a diverse set of people and talents; and we respect people for who they are and the wealth of knowledge they bring to the table. We retain talent by fostering individual development and ensuring frequent opportunities to learn and grow. HEXAGON. Hexagon Geospatial plays a key role in Hexagon’s multi-industry focus, leveraging the entire portfolio for a wide variety of geospatial needs. Hexagon is a leading global provider of design, measurement and visualization technologies. Synergistic thinking is encouraged across all levels and functions at Hexagon companies, so that we all respond better and faster to our shared customer’s needs. For more information, visit www.hexagongeospatial.com (http://www.hexagongeospatial.com) and www.hexagon.com (http://www.hexagon.com).

13

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

14

S E C T I O N 2 Catalog Web Interface The Catalog Web Interface is a web application that allows you to search, browse and publish the data in your catalog. It also offers administration tools for the catalog service. For authenticated users, the Catalog Web Interface includes a page to aid in creating and submitting Catalog Service Web (CSW) requests. This page uses ERDAS APOLLO's implementation of the CSW-ebRIM profile for searching your ERDAS APOLLO catalog and delivering metadata describing catalog holdings. Finally, the ERDAS APOLLO catalog exposes its object model as a RESTful set of resources, with each resource type having its own dedicated URL endpoint. You can initiate the Catalog Web Interface by typing the following address in any web browser: http://:/apollo-catalog For example, if your ERDAS APOLLO server is called MyApolloServer you would key-in: http://MyApolloServer:80/apollo-catalog If SSL is configured, the example above would be: https://MyApolloServer:443/apollo-catalog Another easy way to access the Catalog Web Interface is to select the ERDAS APOLLO Catalog Web Interface button on the ERDAS APOLLO Welcome Page: http://:/erdas-apollo/welcome/index.html

In This Section Logging In ...... 15 Browsing and Searching Content...... 18 Publishing External Content ...... 33 Testing the CSW Endpoint ...... 34 Administration Options ...... 35

Logging In You can search for and browse the public data in the ERDAS APOLLO catalog without logging in. In order to view private data, publish data, or use the administration tools you must log in with a user name and password. To do so, select the Login button in the upper right corner of the page.

15

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Logging in as the default data manager, dm, (or as any user that has been granted the data manager role), will enable the Publish link and allow you to Publish content.

16

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Logging in as the default administrator, admin, (or as any user that has been granted the admin role), will enable the Publish, CSW, JSON and Admin links.

17

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Browsing and Searching Content Select the Browse link to browse the contents of your ERDAS APOLLO Catalog.

Filter By Data Type The drop-down data type filter allows you to filter your search based on specific data types. The data types filters are:

 Aggregates - Return only aggregates of datasets

 Documents - Return only business documents

 Image Datasets - Return only image datasets

 Point Cloud Datasets - Return only point cloud datasets

 Vector Datasets - Return only vector of datasets

18

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

 Datasets - Return only datasets (image, point cloud, vector or documents)

 Processes - Return only Web Processing Services (WPS)

 Services - Return only data services (WCS, WFS or WMS)

 Coverage Services - Return only Web Coverage Services (WCS)

 Coverage Layers - Return only layers contained in Web Coverage Services (WCS layers)

 Vector Services - Return only Web Feature Services (WFS)

 Vector Layers - Return only layers contained in Web Feature Services (WFS layers)

 Map Services - Return only Web Map Services (WMS)

 Map Layers - Return only layers contained in Web Map Services (WMS layers)

To remove the data type filter from your search, select the data type filter drop-down and use the up arrow on your keyboard until the field displays -CHOOSE DATA TYPE-.

Filter By Keyword The keyword filter allows you to filter your search based on keywords and keyword patterns. The keyword patterns are compared against the names, descriptions and tags associated with the holdings in your catalog. Keyword searches can be combined using the following operators:

Operator Description Example

AND Logical AND between two keywords. road AND Atlanta

OR Logical OR between two keywords. road OR Atlanta

() Logical Group surrounding keywords. (road OR Atlanta) AND city

The logical AND and OR operators must be entered in upper case.

Topics Advanced Search ...... 20 Managing Catalog Records ...... 22 ERDAS APOLLO Catalog REST Interfaces ...... 23

19

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Advanced Search The Advanced Search panel can be opened by clicking on the arrow on the left edge of the Browse panel. This panel offers sorting options and a tree view of the object types available in the ERDAS APOLLO Catalog.

 Single-clicking on an object type will search for records of that type.

 Category objects can be multi-selected by pressing the CTRL key and then selecting one or more category objects.

20

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

 Double-clicking on an object type will display the definition of the object type.

21

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Managing Catalog Records If you are logged in as an authorized user, additional catalog record management links may be displayed for each object in the search result panel. An authorized user is either the user that originally published the object or any user that has been granted the admin role.

22

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Delete The Delete link will delete the object from your ERDAS APOLLO catalog.

Reharvest The Reharvest link will update the catalog metadata of a service object as well as the metadata of the layers associated to the service. Only service objects (Web Coverage Service, Web Feature Service and Web Map Service) support the Reharvest command. Reharvest makes it easy to update the ERDAS APOLLO catalog when layers are added to or deleted from a service or if the metadata associated with the service or one of its layers has changed.

View Default The View Default link will display the default document associated with the object. The data returned by this command depends upon the type of the object. For example, service objects (WCS, WFS and WMS) will return a GetCapabilities document. Dataset and layer objects will return a default metadata document. Process objects will return a process description document. Business objects will generally return the document itself.

ERDAS APOLLO Catalog REST Interfaces The ERDAS APOLLO Catalog exposes its object model as a RESTful set of resources, such that each resource type has a dedicated URL endpoint. REST is subject to an ongoing debate to define exactly what it is or isn't, and many REST-related concepts and questions are still looking for a clear answer. The following sections are not intended to define REST, but rather describe the REST architecture as it is pertains to ERDAS APOLLO.

Topics REST Background ...... 23 ERDAS APOLLO REST Endpoints ...... 25

REST Background REST, meaning "REpresentational State Transfer", is a style of software architecture for distributed hypermedia systems such as the World Wide Web. REST strictly refers to a collection of network architecture principles which outline how resources are defined and addressed. Systems which follow REST principles are often referred to as "RESTful".

See Chapter 5 of Roy Fielding's 2000 doctoral dissertation from the University of California, Irvine, "Representational State Transfer (REST)": http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm The following terms are used in the description of the ERDAS Apollo architecture and its implementation of REST:

23

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

 Resource Oriented Architecture (ROA): A software service architecture type that is resource-centric, as opposed to Remote Procedure Call (RPC) architecture that is process-centric.

 REST: REpresentational State Transfer, as defined in Fielding's dissertation. We consider REST as being an instance of ROA relying on the HTTP protocol; this is important as the term REST as it is used here will always refer to the HTTP implementation of an ROA.

 Uniform Resource Identifiers (URI): Resources in an ROA must be identifiable by unique and static IDs. In REST these IDs are URIs that can be used to directly access the resource or to link to it in another resource representation.

 Representation: Resources are decoupled from their representations. A URI uniquely identifies a resource on the server, but the client interacts with the server using representations of resources. In a REST architecture, the representations are described by mime types.

 Hyperlinking: Representations of resources must express links between resources using hypermedia links. In a REST architecture, the URIs of resources are used as hyperlinks.

RESTful systems have these characteristics:

 Each resource is published as a static URI, with an ID

 CRUD operations (Create, Read, Update, Delete) on resources are supported using the standard HTTP commands (GET, POST, PUT, DELETE)

 Multiple representations (or encodings) of resources are supported, often by using a URI extension pattern

 Resources are linked using their URIs

 HTTP headers are used to perform content type negotiation

In the scope of the ERDAS APOLLO catalog, a REST interface has been developed using the restlet framework (restlet.org). This REST approach enables the catalog to be easily accessible from web-based clients such as browsers.

REST Examples for APOLLO The following examples illustrate how these REST concepts apply to ERDAS APOLLO:

 Issuing a GET request on items will return a list of all the items in the catalog:

http:///erdas-apollo/content/catalog/items

 Issuing a GET request on services will return a list of all the services in the catalog:

24

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

http:///erdas-apollo/content/catalog/services

 A single item with id 'abc' can be accessed directly at its URL:

http:///erdas-apollo/content/catalog/items/abc

 Alternate encodings can be obtained by appending the desired extension. For example, a GET request of services.json will return a JSON encoded list of all the services in the catalog:

http:///erdas-apollo/content/catalog/services.json

 REST URLs can be augmented with filtering parameters. The following request filters the result based on keyword and bounding box and also limits the number of returned results:

http:///erdas-apollo/content/catalog/services/resources ?keywords=hydro&intersect=BBOX(-180 -90,180 90)&maxresults=50

 A new service can be published by issuing a POST request of its URL to:

http:///erdas-apollo/content/catalog/services Specifics of all these examples will be explained in the following sections.

ERDAS APOLLO REST Endpoints The REST interface base URL of the ERDAS APOLLO Catalog is: http:///erdas-apollo/content/catalog, where is replaced by the name of the ERDAS APOLLO Server. Every request sent through this interface will start with this pattern. The following endpoints are available off the base URL:

Endpoint Description

/items Query all catalog items

/aggregates Query only aggregates of datasets

/datasets Query only datasets (image, point cloud, vector or document)

/datasets/generic Query only business documents

/datasets/images Query only image datasets

/datasets/pointclouds Query only point cloud datasets

/datasets/vectors Query only vector datasets

25

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Endpoint Description

/services Query only data services (WCS, WFS or WMS)

/services/wcs Query only Web Coverage Services (WCS)

/services/wcs/resources Query only layers contained in Web Coverage Services (WCS)

/services/wfs Query only Web Feature Services (WFS)

/services/wfs/resources Query only layers contained in Web Feature Services (WFS)

/services/wms Query only Web Map Services (WMS)

/services/wms/resources Query only layers contained in Web Map Services (WMS)

/processes Query only Web Processing Services (WPS)

Issuing a HTTP GET request to any of those URLs will return a list of corresponding objects, with no filtering applied, with default paging settings, and where the encoding is chosen as explained in the Result Encodings (see "Result Representations/Encodings" on page 30) section below. It must be noted that the first endpoint (/items) is the main endpoint to retrieve any catalog object. Other endpoints are convenient ways to subset the result set by object types. Also, some specific operations described further are available only on specific endpoints. For example, publishing a service can only be done by POSTing to a /service endpoint.

Topics Querying and Filtering ...... 26 Result Representations/Encodings ...... 30 JSON Model...... 31

Querying and Filtering

Accessing a Single Object Any of the ERDAS APOLLO REST endpoints can be appended with the id of an object, thereby providing a way to obtain a single object. For example a specific service can be accessed by referencing: http:///erdas-apollo/content/catalog/services/, where is replaced by the actual ID of the service. Similarly a specific image can be accessed by referencing:

26

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

http:///erdas-apollo/content/catalog/datasets/images/, where is replaced by the actual ID of the image. Since the item endpoint gives access to all the object types, it is common to use that endpoint to reference any single object. As such, the service and image in the examples above would typically be accessed by using the following URLs:

 http:///erdas-apollo/content/catalog/items/

 http:///erdas-apollo/content/catalog/items/

REST Query Parameters In addition to querying for specific IDs, the ERDAS APOLLO REST endpoints support various other querying parameters. These parameters allow for filtering, ordering and paging of results. Some parameters are only available for specific object types.

Parameter Name Value Type Supported By Description keywords space separated set of All object types Performs a search in the catalog and tries to match string keywords the given keywords against the name, title or tags of the catalog items. defaults to none orderby name of an object All object types Return the results ordered according to the given attribute attribute name. The attribute must be a valid attribute for the object type being queried. defaults to none Use asc for ascending and desc for descending. start integer All object types Paging parameter - specifies the start index for the objects to return. defaults to 0 maxresults integer All object types Paging parameter - specifies the maximum number of results to return. defaults to 10 intersect a WKT-encoded FeatureType, Performs filtering using a spatial intersection. geometry MapLayer,

OgcCoverage defaults to none inurl part of a domain name OGCWebService, Performs filtering on the content of the online WebCoverageService resource URL, if any. , WebFeatureService, WebMapServeric,

27

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Parameter Name Value Type Supported By Description FeatureType, MapLayer, OgcCoverage

Examples:

 http:///erdas-apollo/content/catalog/items?keywords= roads

 http:///erdas-apollo/content/catalog/items?orderBy=r egistrationDate asc

 http:///erdas-apollo/content/catalog/items?start=10& maxresults=50

Use an ampersand, &, to separate multiple query parameters.

 http:///erdas-apollo/content/catalog/items?intersect =BBOX(-180 -90,180 90)

 http:///erdas-apollo/content/catalog/items?inurl:.co m

Advanced Querying in JSON Complex queries can be submitted to the service on a dedicated search.json endpoint. Those queries are expressed in JSON, and must be sent using HTTP POST on the /content/catalog/search.json endpoint.

28

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Examples of such queries can be found on the JSON Test page.

OpenSearch The OpenSearch specification defines a description language to describe web search engines. The OpenSearch Geo extension defines an extra set of spatial filtering parameters. Offering an OpenSearch description identifies a web service as being a web search engine; OpenSearch clients such as today's browsers recognize it and can add that service in their list of search engines. The ERDAS Apollo Catalog offers such an OpenSearch Geo description. It is published in the head section of any HTML page of the catalog.

29

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Result Representations/Encodings Representation formats are identified with mime types. When querying, the format of a resource is determined using HTTP content negotiation represented by the HTTP Accept header. Any HTTP client can use that header to specify a set of accepted mime types. The server will then choose the best available mime type, produce that representation and set the Content-Type response header to specify what mime type was chosen for the representation. For instance, a typical web browser may issue GET requests like this: GET http://example.com/rest/items/1234 HTTP/1.1 Accept: text/html,application/xml Such a request means that the client prefers text/html, but can also accept application/xml. The content negotiation can be overridden by appending a format extension to the URI. For example, the following resource: http:///erdas-apollo/content/catalog/items will return an HTML representation by default, but its JSON representation can be retrieved by using: http:///erdas-apollo/content/catalog/items.json ERDAS APOLLO supports the following representations/encodings:

Encoding URL Extension Description

HTML .html Using this encoding, results are encoded using an HTML template defined on the server, ready to be displayed in a standard HTML browser. It must be noted that the ERDAS APOLLO Catalog Web client is actually the HTML encoding of the REST interface.

Plain Text .txt This encoding is more of a debugging feature, to get a quick and simple display of the results. In particular, this encoding can be useful to output the URLs of the service currently stored in the catalog, for a quick backup or transfer, using a URL like: http:///erdas-apollo/content/catalog/s ervices.txt

JSON .json This encoding returns the set of results encoded in JSON, and ready to be interpreted in a JavaScript environment. This is especially useful to build lightweight JavaScript applications that can run in a browser and can access the catalog data without the need for a server-side middle-tier. JSON types are named after their Java counterparts, using qualified

30

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Encoding URL Extension Description class names such as com.erdas.rsp.babel.model.CatalogItem. See JSON Model (on page 31) for more details.

GeoRSS .atom Using this encoding, the results will be returned as a RSS feed, following the GeoRSS specification that defines ways to add location tags to RSS entries. This can be useful to be notified of the latest services harvested, by subscribing to the following feed: http:///erdas-apollo/content/catalog/i tems.?orderBy=registrationDate&maxResults=50

KML .kml The KML encoding returns the set results encoded using OGC KML encoding, following the ML 2.2 specification. Results are encoded using their spatial extent when available; furthermore, if results are MapLayers, the KML document will contain special overlays that allow you to display the original data from the service directly in a KML browser (like Google Earth).

Any REST query can be retrieved in any of the encodings. The encoding is specified by adding the corresponding extension to the URL, before the query parameters. For example, the following is a request for all services containing the keyword hydro, returned in a JSON representation:

http:///erdas-apollo/content/catalog/services.json?keywo rds=hydro If no encoding is specified, the server checks the HTTP headers for preferred encodings, and decides what is the best encoding to choose. Typically, browsers send HTTP GET requests with HTML/XHTML as preferred encodings. Therefore omitting the encoding will usually result in an HTML encoded response.

JSON Model The JSON model is exposed as a set of resources, under the REST path /content/catalog/mappings, using this URL pattern: http:///erdas-apollo/content/catalog/mappings/ As a consequence the description of the JSON model can be browsed in the catalog web interface. For example you can display a representation of the CatalogItem with the following URL: http:///erdas-apollo/content/catalog/mappings/com.erdas .rsp.babel.model.CatalogItem

31

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

The entire model can be browsed either by browsing through the HTML representation, or by double clicking a subnode of the "Catalog Objects" tree in the Advanced Search (on page 20) panel.

JSON Reflection The JSON object model is also available, encoded in JSON, by appending the .json extension, thereby allowing reflection. For example, you can display the full JSON encoding for OgcWebService with the following URL: http:///erdas-apollo/content/catalog/mappings/com.erdas .rsp.babel.model.ows.OgcWebService/full.json

Profiles Profiles allow you to request views that contain only a subset of the data. Using profiles is a means of optimization and performance tuning. You can select a profile by including the profile specification at the end of your JSON request: http:///erdas-apollo/content/catalog/mappings//CADWorx_Plant The set of available profiles is displayed at the top right of the JSON model description page of any resource type: http:///erdas-apollo/content/catalog/mappings/com.erdas .rsp.babel.model.CatalogItem. Clicking on a profile will bring the description of the model subset retrieved by that profile.

32

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Publishing External Content Select the the Publish link on the Catalog Web Interface to register external service providers and geospatial processes in the ERDAS APOLLO Catalog.

To publish an external service in the ERDAS APOLLO Catalog: 1. Select a resource type in the Select Resource Type drop-down box. The options are:

 W*S

 WFS

 WMS

 WCS

 WPS

If you know the type of service that you want to publish, select it as the resource type. If you are not sure of the service type, select W*S and ERDAS APOLLO will try to determine the service type by issuing a GetCapabilities request to the URL. 2. Key in the URL of the service that you want to publish. 3. Click the Publish button (to the right of the URL field). The current user is considered the owner of data published this way. This means that only this user or users granted the admin role will be allowed to delete or reharvest the service.

33

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Testing the CSW Endpoint Select the CSW link on the Catalog Web Interface to submit Catalog Service Web (CSW) requests.

This page uses ERDAS APOLLO's implementation of the CSW-ebRIM profile for searching your ERDAS APOLLO catalog and delivering metadata describing catalog holdings. The left panel contains the CSW-ebRIM request and the right panel contains the response to the posted request.

34

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Select one of the Sample CSW requests to populate the request in the left panel. You can submit the sample request as it is written or you can modify it in the left panel. Select Post request. The request will be sent to the server, and the response from the server will be displayed in the right panel. In the upper right of the page, a panel indicates the status of the CSW endpoint. The panel also contains buttons that allow you to Restart the CSW service, issue a GetCapabilities request or Refresh the service by flushing its cache. Note that the CSW endpoint will start automatically on demand; this status and button are for debug purposes only, to force a restart and a cache flush of the CSW stack. You may need to refresh the entire page to force the CSW Status field to update from Not Started to Running.

Administration Options Select the Admin link on the Catalog Web Interface to access database administration utilities for the ERDAS APOLLO catalog.

The Welcome panel at the top of the page identifies your login as well as all of the roles your login has been granted.

 Re-index keywords: This command regenerates the keyword index of the Apache Lucene™ Core used by the ERDAS APOLLO catalog. You may need to do this if you move your ERDAS APOLLO catalog database to a new server.

Apache Lucene is an open source library that provides high performance full-featured text search.

35

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

 Flush 2nd level cache: ERDAS APOLLO uses Hibernate to facilitate persisting data to the ERDAS APOLLO catalog. The Hibernate 2nd level cache improves data access performance by caching data so that repeated requests for the same data do not necessitate repeated database accesses. This command allows you to flush this cache. Using this command is only necessary in the rare instance when a process other than the ERDAS APOLLO server modifies the contents of the ERDAS APOLLO catalog database.

Visit http:\hibernate.org to learn more about Hibernate ORM.  Manage DB schemas: This command opens a page that lists the currently installed database schema(s) and their version(s). If the current database schema is not in sync with the ERDAS APOLLO software version, this page allows you to run the upgrade process.

36

S E C T I O N 3 Delivering Data ERDAS APOLLO facilitates delivering your data to web clients in multiple ways.

Image Delivery via OGC Compliant Services  Web Map Service (WMS) – Deliver portrayed GIS-ready and web-client-consumable styled map data to any OGC WMS client application such as ERDAS IMAGINE, GeoMedia, Geospatial Portal, AutoCAD, ArcGIS, Google Earth, or other custom applications.

(WMTS) – Deliver portrayed GIS-ready and web-client-consumable tiles to any OGC WMTS client application; easily create mashups with OpenLayers and Google Maps.

 Web Coverage Service (WCS) – Deliver raw pixel data of any supported imagery format and type to OGC imagery exploitation clients as an interoperable coverage.

Image Delivery via Streaming Protocols  ECWP – Deliver ECW and JP2 wavelet-compressed imagery through ECWP protocol (ecwp://) to ECWP clients such as Geospatial Portal, ERDAS IMAGINE, AutoCAD or ArcGIS.

 JPIP – Deliver JP2 wavelet-compressed imagery through the JPIP protocol (jpip://) to JPIP-compliant clients.

Vector/Feature Delivery via OGC Compliant Services  Web Feature Service (WFS/WFS-T) – Deliver portrayed GIS-ready and web-client-consumable vectors/features to any OGC WFS client application. Publish, insert, delete and update vector data geometry and attributes using a Transactional Web Feature Service (WFS-T).

The following sections describe how you can publish and deliver your catalog holdings.

In This Section Delivering Map Images with a Web Map Service (WMS) ...... 38 Delivering Image Data with a Web Coverage Service (WCS) ...... 40 Delivering Image and Point Cloud Data with Streaming Services. 46 Delivering Vectors/Features with a Web Feature Service (WFS) . 48 OGC Compliant HTTP Request Samples ...... 50

37

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Delivering Map Images with a Web Map Service (WMS) The Web Map Service (WMS) is an interface standard defined by the Open Geospatial Consortium (OGC). The OGC defines it this way: The OpenGIS® Web Map Service Interface Standard (WMS) provides a simple HTTP interface for requesting geo-registered map images from one or more distributed geospatial databases. A WMS request defines the geographic layer(s) and area of interest to be processed. The response to the request is one or more geo-registered map images (returned as JPEG, PNG, etc) that can be displayed in a browser application. The interface also supports the ability to specify whether the returned images should be transparent so that layers from multiple servers can be combined or not. Visit http://www.opengeospatial.org/ to learn more about the OGC. Visit http://www.opengeospatial.org/standards/wms to learn more about the WMS standard. ERDAS APOLLO supports two versions of the OGC-WMS standard: WMS 1.1.1, and WMS 1.3.0 (also approved as ISO 19128). Each has a different syntax. Complete documentation for both standards can be found on the OGC website: Web Map Service Implementation Specification, Version 1.1.1 Open GIS Web Map Server Implementation Specification, Version 1.3.0

Topics Web Map Service Requests ...... 38 GetLegendGraphic Request ...... 39 WMS HTTP POST Requests ...... 39 WSDL and WMS HTTP SOAP Requests ...... 40

Web Map Service Requests Both supported versions of the WMS standard (1.1.1 and 1.3.0) define the same three operations (or requests): GetCapabilities, GetMap and GetFeatureInfo. The following descriptions for each of these operations are taken from the 1.3.0 version of the Open GIS Web Map Server Implementation Specification. Detailed documentation of these operations is beyond the scope of this document. The most accurate and up-to-date documentation for using OGC services can always be found on the OGC website and in the standard documents referenced above.

38

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

GetCapabilities The purpose of the mandatory GetCapabilities operation is to obtain service metadata, which is a machine readable (and human-readable) description of the server’s information content and acceptable request parameter values. See sections 7.1 Web Map Service Implementation Specification, Version 1.1.1 or section 7.2 Open GIS Web Map Server Implementation Specification, Version 1.3.0 for details on calling GetCapabilities.

GetMap The GetMap operation returns a map. See sections 7.2 Web Map Service Implementation Specification, Version 1.1.1 or section 7.3 Open GIS Web Map Server Implementation Specification, Version 1.3.0 for details on calling GetMap.

GetFeatureInfo The GetFeatureInfo operation provides clients of a WMS with more information about features in the pictures of maps that were returned by previous Map requests. See sections 7.3 Web Map Service Implementation Specification, Version 1.1.1 or section 7.4Open GIS Web Map Server Implementation Specification, Version 1.3.0 for details on calling GetFeatureInfo.

GetLegendGraphic Request The GetLegendGraphic request is described as part of the OGC-SLD 1.1 standard (05-078r3 - SLD Profile of WMS).

Styled Layer Descriptor profile of the Web Map Service Implementation Specification The following description is from the document: GetLegendGraphic: The GetLegendGraphic operation itself is optional for an SLD-enabled WMS. It provides a general mechanism for acquiring legend symbols, beyond the LegendURL reference of WMS Capabilities. See sections 10.2 in the Styled Layer Descriptor profile of the Web Map Service Implementation Specification for details on calling GetLegendGraphic.

WMS HTTP POST Requests The ERDAS APOLLO WMS services support HTTP requests using HTTP-GET and HTTP-POST. An OGC project document (Ref: 02-017r1 - Web Map Service Implementation Specification - Part 2: XML for Requests Using HTTP POST) describes the structure and encoding for WMS POST requests.

39

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Web Map Service Implementation Specification -- Part 2: XML for Requests using HTTP POST The greatest benefit of HTTP-POST versus HTTP GET is realized in the GetMap operation, where the comma-separated list of layer names in HTTP GET can be replaced by a sequence of XML elements, each of which is either a named layer or a user-defined layer, and directly associates style and filter information within each layer. The GetFeatureInfo operation, which includes most of a GetMap request, benefits the user in a similar way. The OGC document presents the XML schema for the GetCapabilities, GetMap and GetFeatureInfo requests. The OGC proposal references an optional

element to include in the GetCapabilities request to retrieve only one of the sections of a complete Capabilities XML document. The ERDAS APOLLO implementation does not support this feature. It always returns the entire Capabilities document.

WSDL and WMS HTTP SOAP Requests A Web Service Description Language (WSDL) document provides a formalized description of the services and facilitates recording of the service(s) in a UDDI registry, such as a Systinet Registry. Once registered, the service can be invoked using the Simple Object Access Protocol (SOAP). ERDAS APOLLO supports one of the OGC candidate WSDL solutions, by using a request=getWSDL request type. The syntax is similar to a classical HTTP-GET GetCapabilities request, except that the request name is "getWSDL" and an optional "SoapOnly" parameter is allowed. Note that the "Service" parameter will determine the nature of the output WSDL, as each service type (WMS, WFS, WCS) has a different WSDL description. The following is an example of a GetWSDL request: http://localhost:80/erdas-apollo/coverage/ATLANTA_MOSAIC?version=1.1 .1&service=WMS&request=getWSDL&SoapOnly=true

Delivering Image Data with a Web Coverage Service (WCS) The Web Coverage Service (WCS) is an interface standard defined by the Open Geospatial Consortium (OGC). The OGC defines it this way: The Web Coverage Service (WCS) supports electronic interchange of geospatial data as "coverages" – that is, digital geospatial information representing space-varying phenomena. Examples of coverages are satellite imagery, digital elevation models, and triangulated integrated networks (TINs). A WCS provides access to potentially detailed and rich sets of geospatial information, in forms that are useful for client-side rendering, multi-valued coverages, and input into scientific models and other clients. Visit http://www.opengeospatial.org/ to learn more about the OGC.

40

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Visit http://www.opengeospatial.org/standards/wcs to learn more about the WCS standard. ERDAS APOLLO supports version 1.0.0 of the OGC-WCS standard. Complete documentation can be found on the OGC website:

Web Coverage Service (WCS), Version 1.0.0 (Corrigendum)

Topics Web Coverage Service Requests ...... 41 Requesting a Reference to a Coverage ...... 42 Georeferenced Coverages ...... 43 WSDL and WCS HTTP SOAP Requests ...... 46

Web Coverage Service Requests The WCS standard defines three operations (or requests): GetCapabilities, DescribeCoverage and GetCoverage. The following descriptions for each of these operations are taken from Web Coverage Service (WCS), Version 1.0.0 (Corrigendum). Detailed documentation of these operations is beyond the scope of this document. The most accurate and up-to-date documentation for using OGC services can always be found on the OGC website and in the standard documents referenced above. Each of these request types can be formulated using HTTP-GET and HTTP-POST messaging. SOAP messaging is also supported.

GetCapabilities Each Web Coverage Server must describe its capabilities. This clause defines an XML document structure intended to convey general information about the service itself, and summary information about the available data collections from which coverages may be requested. See section 7.2.1 Web Coverage Service (WCS), Version 1.0.0 (Corrigendum) for more details on calling GetCapabilities.

DescribeCoverage A request to obtain a full description of one or more coverages available. The server responds to such a request with an XML document describing one or more coverages served by the WCS. See section 8.2.2 in Web Coverage Service (WCS), Version 1.0.0 (Corrigendum) for more details on calling DescribeCoverage.

GetCoverage The GetCoverage operation allows retrieval of coverages from a coverage offering. A GetCoverage request may be encoded as key-value pairs, or as an XML document.

41

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

See section 9.2.2 in Web Coverage Service (WCS), Version 1.0.0 (Corrigendum) for more details on calling GetCoverage.

Requesting a Reference to a Coverage Typically, a GetCoverage operation returns a coverage (values or properties of a set of geographic locations) bundled in a well-known coverage format. In other words, the GetCoverage operation returns data, not images. (Refer to Coverage Portrayal Service (see "Coverage Portrayal Service (CPS)" on page 70) for details on how to obtain an image from a coverage using a CPS.) You can also choose to store the coverage data on the server and request a reference to the coverage by using the STORE=TRUE option in the request. When the STORE=TRUE option is used, the output is an XML document referencing the coverage in a tag. That document will look like the following: GetCoverage Output When STORE=TRUE stored coverage result MOD09GHK.EastCoast_1_Grid_L2g_2d_TIF coverage region of stored GetCoverage result MOD09GHK.EastCoast_1_Grid_L2g_2d_TIF -78.066296 -77.121606 36.637055 37.308619 0 0 500 500

42

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

X Y -78.066296 37.308619 0.22941 0 0 -0.22886 band1 GeoTIFF

Georeferenced Coverages Coverage files are usually georeferenced and provide the bounds and a identifier for the coverage files. For example, a GeoTIFF file has a binary header which describes the data bounding box and reference system. This information is available in the DescribeCoverage documents. DescribeCoverage Document Subsets 516430.13465702 4151612.8386696503 589060.13465702 4224332.83866965 ... EPSG:26910 EPSG:4326 EPSG:26910 The spatialDomain element describes the georeferencing of the coverage data, and the nativeCRSs element describes its native reference system. The requestResponseCRSs

43

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

defines the reference system identifiers that can be used in a GetCoverage request (CRS parameter) and the ones in which the result can be reprojected (RESPONSE_CRS). Only a few request/response reference systems are described in the DescribeCoverage documents, but ERDAS APOLLO WCS can provide coordinate transforms from and to each reference system of its database. The following vendor-specific element in the GetCapabilities document expresses this Coordinate Transform/Reprojection ability: GetCapabilities Document Subset If only the bounds are provided in the source coverage file, it is possible to define the native reference system of the data using the 'srs' parameter in the providers.fac file entry.

Logical Space Grid Coverage data can be queried in its logical space. A description of that logical space is provided in the following DescribeCoverage document: DescribeCoverage Document Subsets, Georeferenced Grid 516430.13465702 4151612.8386696503 589060.13465702 4224332.83866965 0 0 7263 7272 X Y 516430.13465702 4224332.83866965 10.0 0 0 -10.0 ... EPSG:26910 EPSG:4326 Image

44

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

EPSG:26910 The RectifiedGrid element describes the logical space of the coverage data and the 'Image' value in the requestResponseCRSs element means that the data can be queried in its logical space. The following is a valid GetCoverage request expressed in the logical space described above: HTTP-GET Example of a GetCoverage in Grid's Logical Space http://apollo.erdas.com/erdas-apollo/coverage/SPOT5J? request=GetCoverage &SERVICE=WCS &VERSION=1.0.0 &COVERAGE=TIF &CRS=IMAGE &Fields=ImageData4 &BBOX=0,0,7263,7272 &WIDTH=726 &HEIGHT=727 &FORMAT=GeoTIFF &INTERPOLATION=nearest neighbor If a coverage file does not provide a bounding box or a reference system, it still can be served. The data will be exposed in its logical space and can only be requested in that logical space. DescribeCoverage Document Subsets, Non-Georeferenced Grid 0 0 400 400 0 0 400 400 X Y ... Image Image

45

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

WSDL and WCS HTTP SOAP Requests A Web Service Description Language (WSDL) document provides a formalized description of the services and facilitates recording of the service(s) in a UDDI registry, such as a Systinet Registry. Once registered, the service can be invoked using the Simple Object Access Protocol (SOAP). ERDAS APOLLO supports one of the OGC candidate WSDL solutions, by using a request=getWSDL request type. The syntax is similar to a classical HTTP-GET GetCapabilities request, except that the request name is "getWSDL" and an optional "SoapOnly" parameter is allowed. Note that the "Service" parameter will determine the nature of the output WSDL, as each service type (WMS, WFS, WCS) has a different WSDL description. The following is an example of a GetWSDL request: http://localhost:80/erdas-apollo/vector/ATLANTA_VECTOR?version=1.0.0 &service=WCS&request=getWSDL&SoapOnly=true

Delivering Image and Point Cloud Data with Streaming Services ERDAS APOLLO is able to stream some image and point cloud data using wavelet-based image compression. Enhanced Wavelet Compressed (ECW) files can be streamed using the Enhanced Wavelet Compression Protocol (ECWP) and JPEG 2000 files can be streamed using the JPEG 2000 Interactive Protocol (JPIP). ERDAS APOLLO provides the following web page that you can use to test streaming of image data: http://[server_name]/erdas-iws/samples/SimpleExampleNative.htm The page allows you to test streaming of both ECW and JPEG 2000 imagery. The ECW JPEG 2000 Plugin for internet browsers must be installed on your client machine to enable ECWP or JPIP streaming. To install the plug-ins: 1. Go the server home page: http://[server name]/erdas-apollo 2. Click the link inside the ECWP Plugin box on the top right of the page. 3. The File Download dialog box opens. Click Run to install the plugins. 4. Go to the Streaming Test Page: http://[server name]/erdas-iws/samples/SimpleExampleNative.htm Consult the ERDAS APOLLO Essentials User Guide for more details on streaming ECW and JPEG 2000 imagery with ERDAS APOLLO.

46

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

ECWP Streaming Any ECW image in the ERDAS APOLLO catalog can be streamed. The ECWP stream of the ECW dataset can be accessed as follows: ecwp://[server name]/APOLLO-Catalog/[aggregate name]/[child aggregate name]/[dataset name].ecw For example, if your ERDAS APOLLO Server is apollo.mycompany.com and you have added an ECW image named world.ecw to an aggregate named MyImages, you would access it on the Streaming Test Page by entering the following in the field next to the Open File button: ecwp://apollo.mycompany.com/APOLLO-Catalog/MyImages/world.ecw

JPIP Streaming Similar to ECW, any JPEG 2000 image in the ERDAS APOLLO catalog can be streamed. The JPIP stream of the JPEG 2000 dataset can be accessed as follows: jpip://[server name]/APOLLO-Catalog/[aggregate name]/[child aggregate name]/[dataset name].jp2 For example, if your ERDAS APOLLO Server is apollo.mycompany.com and you have added a JPEG 2000 image named world.jp2 to an aggregate named MyImages, you would access it on the Streaming Test Page by entering the following in the field next to the Open File button: jpip://apollo.mycompany.com/APOLLO-Catalog/MyImages/world.jp2

Accessing Secure Resources You can stream secure resources that require a user name and password by appending the user name and password of the account to the URL. Use the pipe character ( | ) as a delimiter as follows: ecwp://[server name]/APOLLO-Catalog/[aggregate name]/[child aggregate name]/[dataset name].ecw|[user name]|[password] or jpip://[server name]/APOLLO-Catalog/[aggregate name]/[child aggregate name]/[dataset name].jp2|[user name]|[password] For example, you would use the following URL to access the image world.jp2 with the user name ‘manager’ and the password ‘JFKE8uek3’ on the apollo.mycompany.com server: jpip://apollo.mycompany.com/APOLLO-Catalog/MyImages/world.jp2|manage r|JFKE8uek3

47

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Delivering Vectors/Features with a Web Feature Service (WFS) The Web Feature Service (WFS) is an interface standard defined by the Open Geospatial Consortium (OGC). The OGC defines it this way: The OGC Web Feature Service (WFS) allows a client to retrieve and update geospatial data encoded in Geography Markup Language (GML) from multiple Web Feature Services. The WFS operations support INSERT, UPDATE, DELETE, LOCK, QUERY and DISCOVERY operations on geographic features using HTTP as the distributed computing platform. Visit http://www.opengeospatial.org/ to learn more about the OGC. Visit http://www.opengeospatial.org/standards/wfs to learn more about the WFS standard. ERDAS APOLLO supports version 1.1.0 of the OGC-WFS standard:

Web Feature Service Implementation Specification

Topics Web Feature Service Requests ...... 48 WSDL and WFS SOAP Requests...... 50

Web Feature Service Requests ERDAS APOLLO implements these five operations (or requests) of the WFS standard: GetCapabilities, DescribeFeatureType, GetFeature, Transaction, and LockFeature. The following descriptions for each of these operations are taken from Web Feature Service Implementation Specification. Detailed documentation of these operations is beyond the scope of this document. The most accurate and up-to-date documentation for using OGC services can always be found on the OGC website and in the standard document referenced above. Each of these request types can be formulated using HTTP-GET and HTTP-POST messaging. SOAP messaging is also supported.

GetCapabilities The GetCapabilities operation returns an XML document that describes the service and its capabilities. Specifically, it must indicate which feature types it can service and what operations are supported on each feature type.

48

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

See section 13 in Web Feature Service Implementation Specification and section 7 in OWS Common Implementation Specification for more details on calling GetCapabilities.

 The ERDAS APOLLO WFS service endpoint is configured to be exclusively for WFS requests, therefore the Service parameter is optional and will always default to "WFS".

 Although the AcceptFormats parameter is acceptable as part of the GetCapabilities request, ERDAS APOLLO WFS only outputs its capabilities in XML.

DescribeFeatureType The DescribeFeatureType operation describes the structure and schema of any feature type serviced by the WFS. See section 8 in Web Feature Service Implementation Specification for more details on calling DescribeFeatureType.

GetFeature The GetFeature operation provides the ability to retrieve feature instances. In addition, it provides the ability to specify which feature properties to fetch and how to constrain the query spatially and non-spatially. See section 9 in Web Feature Service Implementation Specification for more details on calling GetFeature.

Transaction The Transaction operation is used to describe data transformation operations (insert, update and delete) that are to be applied to web accessible feature instances. When the transaction has been completed, a web feature service will generate an XML response document indicating the completion status of the transaction. If the ERDAS APOLLO WFS is configured to support editing and modification, it is considered to be transactional (WFS-T). It will support "Transaction" operations such as Insert, Update, Delete and possibly LockFeature. Even though the WFS-T request supports three operations (Insert, Update, Delete), it only allows the Delete operation for HTTP-GET. Transactional Insert and Update operations, in practice, would be very lengthy expressions and therefore not suitable for an HTTP-GET request. See section 12 in Web Feature Service Implementation Specification for more details on calling Transaction.

49

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

LockFeature The LockFeature operation allows the service to process a lock request on one or more instances of a feature type for the duration of a transaction. This ensures that serializable transactions are supported. See section 11 in Web Feature Service Implementation Specification for more details on calling LockFeature.

Other WFS Request Types The WFS GetGmlObject and GetFeatureWithLock operations are defined in the WFS specification but are not supported by the ERDAS APOLLO WFS service implementation.

WSDL and WFS SOAP Requests A Web Service Description Language (WSDL) document provides a formalized description of the services and facilitates recording of the service(s) in a UDDI registry, such as a Systinet Registry. Once registered, the service can be invoked using the Simple Object Access Protocol (SOAP). ERDAS APOLLO supports one of the OGC candidate WSDL solutions, by using a request=getWSDL request type. The syntax is similar to a classical HTTP-GET GetCapabilities request, except that the request name is "getWSDL" and an optional "SoapOnly" parameter is allowed. Note that the "Service" parameter will determine the nature of the output WSDL, as each service type (WMS, WFS, WCS) has a different WSDL description. The following is an example of a GetWSDL request: http://localhost:80/erdas-apollo/vector/ATLANTA_VECTOR?version=1.1.0 &service=WFS&request=getWSDL&SoapOnly=true

OGC Compliant HTTP Request Samples ERDAS APOLLO includes a set of sample data and sample OGC services. You can access these sample OGC services by visiting the OGC Compliant HTTP Request Samples page: http:///erdas-apollo/welcome/en/requests.jsp Another easy way to access the OGC Compliant HTTP Request Samples is to select the OGC compliant HTTP request samples link on the ERDAS APOLLO Welcome Page: http:///erdas-apollo/welcome/index.html The links provided in the table invoke predefined WMS, WFS and WCS requests for specific demo data. You can invoke these requests immediately when your ERDAS APOLLO Server is running and configured properly.

50

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

51

S E C T I O N 4 Portraying and Styling Data Portrayal is the use of rules to display and convert data such as GML, coverages, JDBC result sets or COM objects into an image or formatted text document. For Web Application developers using OGC interfaces, data is accessed through a WFS or WCS. The ERDAS APOLLO Portrayal Engine transforms a collection of features or coverages into the required output format. Output formats can be vector format (SVG), image formats (GIF, JPEG, PNG, WBMP and, GeoTIFF) or even textual formats (text, HTML, XML and, PDF). The ERDAS APOLLO Portrayal Engine uses server-side rules to portray information. These rules can be expressed in several languages: Property, SLD and Java. ERDAS APOLLO includes the ERDAS APOLLO Style Editor (on page 85) which provides the ability to style data using ERDAS APOLLO predefined rules. The ERDAS APOLLO Style Editor can be used to portray data using these predefined styles and rules or using custom designed ones. Custom rules can be written using the Portrayal API. Portrayal rules and styles are two distinct concepts. Each entity provides a different level of service but both are needed to portray data. Rules are pieces of program code that provide a specific way to portray data using a classification scheme, such as classes representing a numeric attribute. Styles are text files that contain parameters defining how to portray a dataset. For example, a Style may define which field the ERDAS APOLLO Portrayal Engine will classify and what fill color and stroke width to use.

Rules - Portrayal Logic Rules define the behavior to be used when portraying any kind of compatible feature or coverage collection. They are written once and used as many times as requested on as many different data sets as required. A rule resides in a Java class written using the ERDAS APOLLO API and is dedicated to render a defined kind of data, feature and coverage collections. A rule may also use a property or SLD file which is called a style. The Java code may be either generic to allow the rule to be used with as many feature or coverage types as possible or written to portray a specific feature or coverage collection in a more efficient way. ERDAS APOLLO provides a set of generic rules to be used with any kind of feature. Developing new portrayal rules requires advanced Java knowledge. The ERDAS APOLLO predefined rules have been extensively tested and optimized to provide open and powerful portraying of any feature collection. Rules also support advanced logic such as generalization, classification, and new feature creation to render an updated feature collection.

Styles - Look and Feel Styles are collections of parameters that are used by a rule to render a specific set of data in a predefined way. They are different for each set of data and are only used by the specified data set. A style defines a set of parameters to portray data using a selected rule and the properties for use in labeling and classifying and in determining the geometry to render, the colors for fill, the

53

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

stroke to use and/or the image band to display. Styles are tied to the data being styled as well as to the rule it uses. Styles do not include any kind of logic and do not affect performance. These issues are addressed during the rules development process. The styling process only focuses on portraying the data. The ERDAS APOLLO Style Editor (on page 85) simplifies the process of building styles. It allows you to define, preview and deploy styles.

In This Section Style Templates ...... 54 Creating Styles ...... 55 Deploying Styles ...... 64 Displaying Statistics in a Map ...... 65 Producing KML ...... 67 Limitations ...... 70 Coverage Portrayal Service (CPS) ...... 70 ERDAS APOLLO Style Editor...... 85

Style Templates The ERDAS APOLLO Style Editor is a Java-based GUI tool that can be used to create, edit, preview and deploy styles. It contains a range of styling functionality that allows the user to style data quickly and easily. The ERDAS APOLLO Style Editor is tightly bound to the prebuilt style templates.

Style Templates Description To facilitate the styling of data, ERDAS APOLLO includes a set of prebuilt rules referred to as Style Templates. The style templates provided with the ERDAS APOLLO Style Editor may fulfill most rendering requirements, including classification and generalization. The style templates available in ERDAS APOLLO include the following:

 Uniform: This template applies a simple style to every feature. The stroke, fill and symbol can be configured for the entire feature collection and any property of the feature can be used for labeling.

 Known Symbol: This template applies a fast-to-render marker from a fixed, predefined set to the centroid of each feature. A property of the feature can be used for labeling.

 Uniform Roads: This is a style template dedicated to the display and portrayal of various types of roads. The ERDAS APOLLO Style Editor allows custom configuration of the outline, fill color, and center line to line or polyline geometry. Roads can be labeled with any property of the feature.

 Range Classification: This style is used to classify numeric data, ranked data (to show a progression of values), or to represent percentages.

54

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

 Discrete Classification: This style template should be used to symbolize categorical data. Data values where the symbol for one value is no more or less prominent than the symbols for another value. It also handles lines and polygons stroke and fill color variations as well as line/outline width.

 Range Road Classification: A style is attached to a range of values of a property for the classification of nondiscrete data. Values must be numeric.

 Discrete Road Classification: This style template is used to render roads with a discrete classification that affects outline and centerline colors.

 HTML Report Fragment: This style template allows the rendering of a feature collection into an HTML fragment. A subtitle can be added that will appear in the output for this feature type.

 Variable Markers: This style template marks features with scaled and optionally rotated symbols. The size and orientation are determined using one of the properties of the feature.

 Patterner: This styling rule fills polygons with patterned backgrounds.

 Feature Numberer: This styling rule marks the features that are the nearest from the map center with sequential numbers.

 Symbol Roller: This styling rule renders linear geometries by stamping a list of symbols along the curve in a cyclic manner.

 Coverage Style: This is the only template applying to coverages. It permits choosing the channels, the colormap and the contrast operation.

Creating Styles Two styling languages are available in ERDAS APOLLO, Property and OGC Styled Layer Descriptor (SLD). ERDAS APOLLO Solution Toolkit allows users to plug custom styling rules into the ERDAS APOLLO Portrayal Engine and/or create their own styling mechanisms.

Topics Creating Styles with Properties ...... 56 Creating Styles with SLD ...... 56

55

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Creating Styles with Properties The "Property" language is a simple, key/value-based styling language that defines both the rule to load in the ERDAS APOLLO Portrayal Engine and the parameters to apply during the portrayal of the feature collection. Styles based on the Property language are typically created and modified using ERDAS APOLLO Style Editor. Since the set of available properties depends on the rule chosen, ERDAS APOLLO Style Editor offers a user-friendly, self-documenting way of setting the corresponding values. This language cannot be used to create styles that apply to coverages. That is handled by the SLD language.

Creating Styles with SLD The OGC Styled Layer Descriptor (SLD) is a powerful XML-based styling language. While the complete SLD mechanism is intended for WMS requests, the ERDAS APOLLO Portrayal Engine contained in this product is able to style specific feature types and coverages using a subset of the SLD tags. Visit http://www.opengeospatial.org/standards/sld to learn more about Styled Layer Descriptors.

Supported SLD Tags The following list is a reference for style developers. Depending on whether the SLD document is provided in a GetMap request to a vector data server (ERDAS APOLLO vector servlet), an SLD Portray provider addressing a WFS, an SLD Portray provider addressing a WCS (also named a Coverage Portrayal service), or a Coverage Server, this list of supported SLD tags varies. Notation

 VP: Tags supported in the vector providers

 PP: Tags supported in the SLD Portray provider on top of a WFS

 CP: Tags supported by the SLD Portray provider on top of a WCS or in a Web Coverage Server

 ignored: The element does not produce an error and thus, has no apparent behavior.

SLD Tag Name Parent Element Supporting version/provider

NamedLayer StyledLayerDescriptor VP

56

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

SLD Tag Name Parent Element Supporting version/provider

UserLayer StyledLayerDescriptor PP

Name, Title, Abstract StyledLayerDescriptor ignored

@version StyledLayerDescriptor defaults to "1.0.0"

Name NamedLayer VP

LayerFeatureConstraints NamedLayer ignored

NamedStyle NamedLayer VP

UserStyle NamedLayer VP

Name NamedStyle VP,PP

Name UserLayer PP,CP

RemoteOWS UserLayer PP,CP

LayerFeatureConstraints UserLayer PP

LayerCoverageConstraints UserLayer CP

UserStyle UserLayer PP,CP

Service RemoteOWS "WFS" or "WCS"

OnlineResource RemoteOWS PP - "&" must be written "&" (i.e. xml encoding)

FeatureTypeConstraint LayerFeatureConstraints PP

CoverageConstraint LayerCoverageConstraints CP

FeatureTypeName FeatureTypeConstraint PP

Filter FeatureTypeConstraint PP

Extent FeatureTypeConstraint ignored

CoverageName CoverageConstraint CP

57

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

SLD Tag Name Parent Element Supporting version/provider

Extent CoverageConstraint CP (to be deprecated. Use CoverageExtent instead)

CoverageExtent CoverageConstraint CP

TimePeriod Extent/CoverageExtent CP

RangeAxis Extent/CoverageExtent CP

Name UserStyle ignored: mapped with the STYLES parameter of the GetMap request

Title, Abstract, IsDefault UserStyle ignored

FeatureTypeStyle UserStyle Rendered sequentially (last on top)

CoverageStyle UserStyle CP

Name, Title, Abstract FeatureTypeStyle ignored

FeatureTypeName FeatureTypeStyle Useless if the UserLayer has 1! feature type

SemanticTypeIdentifier FeatureTypeStyle ignored

Rule FeatureTypeStyle Rendered sequentially (last on top)

Rule CoverageStyle CP

Name Rule VP

Title, Abstract Rule ignored

LegendGraphic Rule ignored

Filter Rule 1.0: parameters are supported and can be expressions

ElseFilter Rule VP,PP

MinScaleDenominator, Rule 1.0 MaxScaleDenominator

58

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

SLD Tag Name Parent Element Supporting version/provider

RasterSymbolizer Rule CP

*Symbolizer (except Raster) Rule VP,PP

Geometry *Symbolizer VP,PP - can be omitted if only one in the feature type.

Stroke LineSymbolizer VP,PP

PropertyName Geometry VP,PP

CssParameter Stroke VP,PP

ParameterValueType CssParameter VP,PP expression ParameterValueType VP,PP

Graphic GraphicFill 1.0

Fill PolygonSymbolizer VP,PP

Stroke PolygonSymbolizer VP,PP

GraphicFill Fill 1.0

CssParameter Fill VP,PP

Graphic PointSymbolizer VP,PP

ExternalGraphic Graphic 1.0

Mark Graphic VP,PP

Opacity Graphic CP

Size Graphic 1.0

Rotation Graphic 1.0

OnlineResource ExternalGraphic 1.0

Format ExternalGraphic 1.0

59

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

SLD Tag Name Parent Element Supporting version/provider

WellKnownName Mark VP,PP

Fill Mark VP,PP

Stroke Mark VP,PP

Label TextSymbolizer VP,PP

Font TextSymbolizer VP,PP

LabelPlacement TextSymbolizer VP,PP

Halo TextSymbolizer ignored

Fill TextSymbolizer VP,PP

CssParameter Font VP,PP

PointPlacement LabelPlacement at the centroid of the geometry

LinePlacement LabelPlacement ignored

AnchorPoint PointPlacement ignored

Displacement PointPlacement VP,PP

Rotation PointPlacement VP,PP

DisplacementX, Displacement VP,PP DisplacementY

ChannelSelection RasterSymbolizer CP

ContrastEnhancement RasterSymbolizer CP

ColorMap RasterSymbolizer CP

ShadedRelief RasterSymbolizer CP

ReliefFactor ShadedRelief CP

60

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

SLD Tag Name Parent Element Supporting version/provider

RedChannel, Green, Blue, ChannelSelection CP Gray

SourceChannelName RedChannel, Green, Blue, CP Gray

Normalize ContrastEnhancement CP

Histogram ContrastEnhancement CP

ColorMapEntry ColorMap CP

@color ColorMapEntry CP

@quantity ColorMapEntry CP

Notes

 The NamedStyle is processed as a style name.

 The Filter in a Rule element is ignored if it applies to a feature property that does not exist. It is important to ensure the proper handling of syntax errors in property names.

 Globally, the Title and Abstract tags have no effect, as they only make sense when SLD content is published by a server.

 Default SLD version is "1.0.0".

 The LAYERS parameter must be mentioned in the GetMap request to an ERDAS WMS even when the SLD tag is used. Among the layers found in the SLD, only those found in the LAYERS parameter are rendered. This restriction does not apply to the Portray Provider or to the CPS.

 Unknown CssParameters do not produce an error message. A CssParameter can be specified multiple times overriding the values previously set.

 In Text Symbolizers, text anti-aliasing is enabled by default.

Parsing The SLD parsing is lenient. If the file is not a valid XML document, the parser will detect an error. If it does not conform to the SLD DTD, the parser will try to extract the most valuable information and continue processing. Sample SLD Style

61

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

ESA_FIRE MyStyle> ESA_FIRE Geometry square #ffff00 1.0 #0000ff 2.0px 20.0 Geometry Arial 12.0 0 0

62

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

63

Fehler! Verwenden Sie die Registerkarte 'Start', um Heading 1 dem Text zuzuweisen, der hier angezeigt werden soll.

Deploying Styles The ERDAS APOLLO Portrayal Engine locates the styles to use for portraying features or coverages in a directory hierarchy whose root is defined by the STYLE DIR keyword in the CONFIGURATION section of the providers.fac file:

...