How Express Server Software Improves Geospatial Image Delivery - LizardTech

1y ago
5 Views
1 Downloads
1.08 MB
29 Pages
Last View : 2m ago
Last Download : 3m ago
Upload by : Milo Davies
Transcription

How Express Server Software Improves Geospatial Image Delivery A LIZARDTECH WHITE PAPER contact: Jon Skiffington 206-652-5211 jskiffington@lizardtech.com

Written by Matt Fleagle Published June 2012 Copyright 2012 Celartem Inc. dba LizardTech, 1008 Western Avenue, Suite 200, Seattle, WA 98104. Unauthorized use or distribution prohibited. Access to and use of this code is permitted only under license from LizardTech. All rights reserved. LizardTech, MrSID, GeoExpress, Express Server, Spatial Express, and Express Suite are registered trademarks in the United States and LiDAR Compressor and the LizardTech, GeoExpress, Express Server, Spatial Express, Express Suite, LiDAR Compressor, ExpressView and GeoViewer logos are trademarks, and all are the property of LizardTech. Unauthorized use is prohibited. ii

TABLE OF CONTENTS Introduction . 1 Express Server Overview . 2 How Express Server Works . 3 The Workflow . 4 Storage . 4 Image Formats . 4 Catalogs. 5 Protocols . 6 Client Devices . 6 Scene Extraction . 6 Express Server APIs . 7 The WMS and Web APIs. 7 The JPIP API. 8 Configuration Files . 10 The Base Configuration File . 11 The Catalog Configuration File . 12 The JPIP Configuration File . 16 Performance . 18 Conclusions . 19 Further Reading . 20 Glossary . 20 iii

iv

Abstract: Advancements in the collection of geospatial imagery in recent years have resulted in the increasing availability of greater quantities of higher quality imagery, and that availability has been matched by increasing demand as business and nonbusiness users have grown to expect high-quality geospatial imagery in more applications on more devices. What has not changed is that the bandwidth available for transferring this imagery is limited, which means that, in general, delivery is the bottleneck in any workflow involving image repositories and end users. This paper describes a software solution that takes advantage of the architecture of the wavelet-based MrSID and JPEG 2000 image formats to deliver high resolution imagery to more users, faster, on any device and over any connection. INTRODUCTION The role of geospatial imagery in civil and defense enterprise has increased steadily over the past two decades. The integration of geospatial imagery into commercial software applications has been more recent and dramatically swift. In both cases, the benefits users realize in the access to georeferenced satellite or aerial images have rapidly solidified as essential, non-negotiable elements of logging on. Increasingly, if the purpose of an application has anything to do with location or locating, then it will need to integrate geospatial imagery. Moreover, technologies available for image collection continue to improve, so that higher resolution (“more detailed”) imagery and imagery having more than three bands (multispectral and hyperspectral imagery) is increasingly available and at lower cost, with the result that from a business perspective, it becomes imperative to provide access to this “better and better” imagery. From a computing standpoint, the operational “cost” of handling geospatial imagery is high. That is, image data require a lot of numerical description, so image files are extremely large, the more so when there are additional bands. This presents a fundamental problem for digital image distribution because it forces a choice between the delivery of smaller images (lower resolution and less detail) and untenably slow delivery of larger, more useful ones, the latter choice rendering it impossible to do any work with the imagery and the former defeating the purpose of collecting high resolution imagery in the first place. Solutions to the problem of imagery delivery can be seen as being divided between hardware solutions and software solutions. With enough server hardware, the limitations of processors and bandwidth can be overwhelmed by essentially chopping high-resolution imagery up into pieces small enough to be distributed over networks and then reassembling them in the viewing client. Enormous server farms enable popular image providers such as Google and Bing to distribute high resolution imagery quickly. The software solution addresses the data itself, generally through compression. While hardware-based solutions may incorporate compression and other software-based technologies, LizardTech Express Server image serving software (hereafter “Express Server”) is entirely a software solution. That is, Express Server significantly increases the speed at which existing web servers deliver high-resolution imagery. 1

How Express Server Software Improves Geospatial Image Delivery This paper’s purpose is to describe how Express Server achieves this improvement in delivery performance and to provide some benchmarking data showing some of the delivery speeds that can be realized with an Express Server workflow. EXPRESS SERVER OVERVIEW Express Server is a software application for rapidly distributing large datasets of raster imagery that have been compressed to MrSID or JPEG 2000 format. Express Server enables an existing web server to provide instant viewing of high-resolution aerial photographs, satellite imagery and other digital content on both wireless and broadband devices. At its core Express Server is an engine that converts URL requests from client devices into images for delivery. The engine includes portions of the GeoExpress SDK with its readers and writers and is accessed by WMS and web APIs. Figure 1: Basic Express Server Architecture Applications Web Browser WMS Client Cascading WMS Server AutoCAD Map ArcGIS Image Server ArcIMS Bentley Microstation ArcGIS Server ArcMap JPIP Client HTTP Web Server Microsoft IIS or Apache Web Server WMS API Express Server Image Serving Software software Image Data Web API Express Server Engine File System Spatially Indexed Mosaic 2 Oracle Spatial JPIP Server (optional) File System

A LizardTech White Paper Express Server works with Microsoft IIS and Apache web servers to extract image scenes from MrSID and JPEG 2000 imagery – including multi- and hyperspectral data – that is stored in file systems (as individual images or as spatially indexed mosaics) or in an Oracle database and deliver them to viewing clients in a variety of formats. It’s the wavelet-based MrSID and JPEG 2000 formats that enable Express Server to deliver imagery so quickly, as we’ll see later. In addition to its own API, Express Server supports version 1.1 of the OGC Web Map Service (WMS) standard and, through the JPIP Server, the JPEG 2000 Interactive Protocol (JPIP). Express Server’s JPIP Server is an optional component with a separate engine technology for progressively streaming imagery from a server to a client to support image use in bandwidth-constrained environments. HOW EXPRESS SERVER WORKS When an image request comes in to an IIS or Apache web server, that web server recognizes the request as belonging to one of the Express Server APIs. The Express Server engine then: determines what reader is to be used locates and opens the image after consulting the various caches extracts the requested scene based on requested parameters such as level (resolution), width and height, and upper left coordinates engages an image writer based on the specified output format delivers the image The figure below illustrates this workflow. Figure 2: Express Server Workflow 3

How Express Server Software Improves Geospatial Image Delivery The Workflow Express Server uses the HTTP protocol to deliver imagery to computers and laptops, tablets, phones and other handheld devices – any client device that hosts a web browser or that can be used to work with a GIS. The network connection can be wireless or conventional and can be of any bandwidth. Images are stored on file systems or in an Oracle database to which Express Server has access. Express Server supports MrSID, JPEG 2000 and NITF formats as source imagery. These image formats have the extensions .sid, .jp2 and .ntf. Express Server keeps track of these images – singly and in groups – as catalogs, which can be browsed and explored. A catalog can be an array of folders with images in them, or, more typically, a single, indexed image called a mosaic that is made from a number of smaller images. Catalogs are managed by the Express Server administrator. Express Server receives a WMS request, a web API request, or a JPIP request (request for a JPIP connection); these protocols sit on top of the HTTP protocol. They are simply different ways of requesting imagery. The components of a request may represent a query as to what catalogs are available for viewing, or it may ask for a particular catalog. The precise composition of the URL request is determined by the protocol being used and the associated API. Similarly, the first “scene” returned by Express Server is determined by a number of factors shaped at the client end. In a web browser, a thumbnail of the catalog is usually the first returned image. When a user clicks the thumbnail, the image is typically opened at a low resolution for overview. Depending on the client’s toolset, a rectangular portion of this overview image may be drawn for “zooming into” or a click on the image will return image data from the next larger resolution or “zoom” level and recenter the scene on the coordinates corresponding to the location of the click. In a WMS environment, image catalogs are returned as layers whose bounds correspond to the extents of the map the user is creating or working with in their particular GIS application. As with web browsers, scene extraction and return over the WMS protocol follows the workflow of the particular application. The JPIP protocol is significantly different in that what is being delivered to the client is not images or even pixels but wavelet coefficients representing regions of images at desired resolutions. JPIP thus requires a more sophisticated client that can receive and translate these transmissions before the user can see any image at all. STORAGE Imagery served by Express Server need not reside on the same hardware as the Express Server installation. It can be stored in any network file system or in an Oracle database that Express Server has permission to access. IMAGE FORMATS For source imagery, Express Server supports MrSID, JPEG 2000 and NITF. MrSID and JPEG 2000 are both wavelet-based formats that facilitate the efficiencies of raster data storage and distribution that high compression enables. Extracted scenes from MrSID imagery in particular are returned extremely quickly. Because their wavelet-based algorithms naturally and automatically result in multiple resolutions of an 4

A LizardTech White Paper image within the compressed image file itself – from the full resolution image down to a low-res thumbnail – both formats provide the high image quality required by geospatial professionals yet obviate costly and time-consuming “image pyramiding”. MrSID images are identified by generation and may be MrSID Generation 2 (MG2 ), MrSID Generation 3 (MG3 ) or MrSID Generation 4 (MG4 ). There are important differences among them. MG2, the oldest version, has a 2-gigabyte file-size limit and does not support lossless compression. MG3 introduced support for lossless compression and a number of other features including reprojection, color balancing, despeckling and encoding areas of interest, and removed the 2-GB size limit. MG4 is the most recent evolution of the MrSID format. In addition to mosaicking datasets together, color balancing raster imagery, and manipulating data in other ways as do MG2 and MG3, MG4 enables geospatial professionals to losslessly compress 3-banded and multispectral (including hyperspectral) geospatial data so that they can make full use of the most up-to-date imagery. MG4 also introduced support for alpha bands, which remove the problem of speckling in the transparency areas of mosaics. The following table illustrates the differences between versions of the MrSID format and JPEG 2000. Table 1: Support for Common Requirements in LizardTech File Formats Situation/Requirement Supported by Output File Format MG2 MG3 MG4 JPEG 2000 Advanced encoding (reprojection, color balancing, despeckling, area of interest encoding, etc.) Output file size greater than 2 GB Lossless output Mosaic that has MrSID tiles as input Lossy output with maximum 3 bands, cropping but no advanced encoding, output less than 2 GB* Multispectral input Optimization Alpha band Signed datatypes (e.g. s8, s16) Arbitrary band mapping Per-band compression NITF (National Imagery Transmission Format) is a suite of standards for the exchange, storage, and transmission of digital-imagery products and image-related products within the U.S. Department of Defense and the Federal Intelligence Community. NITF supports compression to JPEG 2000 format. By default Express Server delivers extracted scenes as JPEG images. Other options for final delivery format are PNG (.png), GIF (.gif), TIFF (.tif and .tiff) and Bitmap (.bmp). CATALOGS Express Server treats every image as partly or wholly constituting a catalog. The catalog is the basic edifice used by Express Server to organize images and house information about them and instructions 5

How Express Server Software Improves Geospatial Image Delivery about how to treat them. A catalog of images is made accessible to Express Server through its inclusion in an editable XML file called a catalog configuration file. For the purposes of WMS, a catalog is the same thing as a layer. The catalog configuration file instructs Express Server in how to treat catalogs. It informs Express Server, for example, of all the catalogs available to it, and specifies not only basic properties of each catalog such as its name, location and description, but also things like the requirement of a watermark, the maximum size of an image request, and the size and format of thumbnails generated by Express Server for images in that catalog. Whether and how a catalog is spatially indexed – a requirement if the catalog is to be published as a WMS layer – is also controlled via the catalog configuration file. The catalog configuration file can have any number of catalogs listed in it. We’ll see an example of a catalog’s listing in the catalog configuration file later on when we look at some of that file’s more interesting elements. PROTOCOLS Express Server rapidly distributes large geospatial images using the WMS or JPIP standard, so very little time must be spent customizing applications or retraining users. These interfaces and Express Server’s own web API sit atop the HTTP protocol. The Web Map Service standard (WMS) provides a simple HTTP interface for requesting georeferenced 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 georeferenced map images (returned as JPEG, PNG, etc.) that can be displayed in a WMS-enabled GIS application. The JPIP client/server communication protocol is defined in Part 9 of the JPEG 2000 suite of standards, (ISO/IEC 15444-9). JPIP progressively streams the wavelet coefficients for a requested part of a picture, which saves bandwidth, computer processing on the server, and time. It allows for speedy viewing of a large image in low resolution or a higher-resolution part of that same image. Using JPIP, it is possible to stream large images (for example 1 gigapixel) to relatively lightweight hardware such as PDAs. CLIENT DEVICES Because it is standards-based, Express Server’s architecture enables image delivery quickly to virtually any client viewer, regardless of the device or the amount of bandwidth. Express Server’s output is simply an image, delivered via the HTTP protocol, readable by any of the web browsers with which even the smallest devices with a viewing screen now come equipped. Express Server also supports Web Map Service (WMS), which is supported by virtually all GIS applications. Scene Extraction What enables Express Server to serve image data so quickly is that its design takes advantage of two aspects of the wavelet-based MrSID and JPEG 2000 compression formats: a multiresolution image file and selective decompression. 6

A LizardTech White Paper Conventional image serving schemes require the construction of image pyramids, which are expensive in terms of money, time and storage. Image pyramids comprise copies of each image at various resolutions so that when a client requests an image or a scene at a particular resolution a close approximation can be delivered. Image pyramids take up an enormous amount of storage space in addition to the cost in time to create them, and must be completely recreated each time an image is altered. With MrSID and JPEG 2000 encoding, images are compressed (losslessly, as a best practice) such that numerous resolution levels of an image, from icon and thumbnail all the way up to the full original resolution, are the natural result of compressing the image. Because of the way the actual bits representing the image are stored, any portion of an image can be decompressed at any resolution level without the necessity of decoding the entire image. Express Server is built specifically to take advantage of this selective decompression feature of MrSID and JPEG 2000, extracting the requested scene quickly and converting it to an image scene in one of several output formats. Depending on cache settings, which we’ll discuss later on in this paper, subsequent requests for image data from the same areas of the same images will not require decompression at all, so that over time the delivery of scenes from a given image repository can become even faster. Express Server APIs Express Server responds to a request formulated according to one of three APIs: the WMS API, the web API, or the JPIP API. The request is in the form of a URL. THE WMS AND WEB APIS Though the syntax of the requests is different, the WMS API is functionally equivalent to the web API. Express Server’s web API enables web browsers to make requests for images or scenes from images according to various specified parameters. The URL request can be formed either through the clicking of graphic elements or by manual entry in the URL field. The WMS API essentially does the same thing, but WMS was created as a standard means of importing data in diverse locations into a GIS. The WMS API enables geospatial applications to pull in Express Server catalogs as layers. A catalog is WMS-enabled (available for WMS requests) when it is spatially indexed. This means that Express Server understands how to fit all the images in a catalog into a mosaic and has assigned the catalog a coordinate reference system (CRS) in the form of an EPSG code. Instead of having to open each image in the catalog to find out where it belongs in the world and in the mosaic, Express Server consults a single index file that contains this information for all the images in the catalog. The following two requests both return a summary of available catalogs on an Express Server installation hosted at “demo.lizardtech.com”. The first is a WMS API request, the second a web API request. Express Server supports version 1.1.1 of the OGC WMS specification via the GetCapabilities and GetMap calls. RVICE WMS&REQUEST GetCapabilities ?style none The reply sent back by Express Server is an XML document (which in the web API gets turned into an html page displaying thumbnails of the available catalogs). The above URLs are live and will each return 7

How Express Server Software Improves Geospatial Image Delivery XML output. A user will not normally see the XML, but a look at some XML excerpts will show some interesting items. Below is the return from a WMS “GetCapabilities” request showing one catalog. Note that it is referred to as a “layer”, and that the extents are described in terms of a “bounding box”. Layer opaque "1" Name Florida /Name Title Florida /Title SRS EPSG:26917 /SRS LatLonBoundingBox maxx "-81.248255" maxy "29.572644" minx "-82.908008" miny "26.740052" / BoundingBox SRS "EPSG:26917" maxx "475315.500000" maxy "3271459.500000" minx "315151.500000" miny "2958993.500000" resx "1.00000000" resy "-1.00000000" / ScaleHint max "92681.900024" min "1.414214" / /Layer Note: For more information about how the various XML elements are used in WMS requests and what their values signify see the Further Reading section at the end of this document. Below is the same catalog listed in the return from a web API “browse” request. Item georgn 3.500000" name "Florida" srs "EPSG:26917" / Following is a WMS request to open the catalog which it identifies as the layer called “Florida”. We’ve broken up the URL into rows so it can be viewed more easily. RVICE WMS &VERSION 1.1.1 &REQUEST GetMap &LAYERS Florida &SRS EPSG:26917 &BBOX 207753.9,2958993.5,582713.1,3271459.5 &WIDTH 600 &HEIGHT 500 &FORMAT image/jpeg &TRANSPARENT FALSE In the web API, the same catalog is requested using the “getimage” command, as follows. ge? cat Florida&item iserv-catalog-index &rgn 207753.9,3271459.5,582713.1,2958993.5&geo true &wid 600&hei 500&method scale &oif jpeg The above examples demonstrate the basic methods by which clients retrieve imagery and information from Express Server. They are live examples that both open the same Florida mosaic. THE JPIP API The JPEG 2000 Interactive Protocol, or JPIP, is a specification for progressively streaming imagery from a server to a client to support image use in bandwidth-constrained environments. 8

A LizardTech White Paper Part 9 of the JPEG 2000 set of standards (ISO/IEC 15444), JPIP uses the same data structures as the file format to incrementally deliver pieces of the image to a requesting client, with no algorithmic overhead to preprocess or transcode the image. Each of these delivered pieces is fully “indexed” in that the JPEG 2000 decoder knows “where” in the image that data belongs in terms of its spatial position, resolution, and quality contribution. At any point in the process of downloading the data from the server, the smart client can translate the bytes currently available to some approximation of the image. If only a small number of bytes have been transferred the image will be of low resolution and/or low quality; as the user “idles” over a scene, more data is transferred and the representation of the image increases in resolution and quality. Express Server’s JPIP API is an optional component that works with any JPIP viewing client. In a JPIP transaction, the viewing client sends a request for a connection along with some information about how large of a “chunk” of image data it wants to receive at a time and a summary of what it knows about the imagery it hopes to view. The server sends back a channel ID number and opens a transfer session. The channel ID number identifies the session and is used by the client in each subsequent request for more data. Because Express Server’s JPIP server component streams wavelet coefficients instead of sending images there is always something to render in a JPIP viewer. Image detail is filled in as it arrives. This can be taken advantage of in several ways depending on the capabilities of the viewing client. For example, the image data might be requested in such a way that priority is placed on rendering the entire image at lowquality before more detail is rendered in any given portion of the image, or the opposite might be requested: an area of interest can be specified that receives priority as the data is being delivered, and where the maximum image detail is filled in first. In practice, a user might open the image as a layer in a GIS application and, before the image renders at full quality, draw a rectangle specifying an area of interest. At that point, Express Server stops filling in the entire image and focuses on supplying image data for just that area of interest. Let’s compare two requests for data that Express Server might receive from a JPIP viewer, with some important parts highlighted: http://localhost:9013/jpip?fsiz 482,813,closest&roff 0,0&rsiz 482,813&stream 0&context jp xl 0 &len 2000&cid JPH FFFC70D8428336C1: http://localhost:9013/jpip?fsiz 4849,6497,closest&roff 3228,2480&rsiz 267,169&stream 0&co ntext jpxl 0 &len 2000&cid JPH FFFC70D8428336C1 Note: For more information about how the various XML elements are used in JPIP requests and what their values signify see the Further Reading section at the end of this document. Let’s look at the parts we’ve highlighted. In both URLs you can see the channel ID number (cid) at the end. Also, the desired chunk size or “length” of the stream (len) is 2000 bytes in both. You’ll notice that in the first URL, fsiz (the size of the entire image) and rsiz (the size of the region of interest) are the same – 482 pixels on the x axis and 813 on the y axis – and that the roff (region offset) has a value of zero, which means that there is no particular region of interest being specified. The region starts in the 9

How Express Server Software Improves Geospatial Image Delivery upper left corner of the image (0,0) and is the same size as the image. In this case the detail for the entire image will be filled in at an even rate. But in the second URL (see Figure 3 below) there is an offset of 3228 pixels on the x axis and 2480 on the y axis and the size of the area of interest is only a small part of the image – 267 pixels by 169 pixels. In this case Express Server will send the detail for that smaller region first. Figure 3: A JPIP Region of Interest 4849 roff 3228,2480 2480 267 3228 Region of Interest 169 6497 rsiz 267,169 fsiz 4849,6497 This is just one application of the capabilities of the JPIP protocol in Express Server software. Configuration Files Configuration files are XML files that are edited by an administrator to set up an Express Server installation, direct its behavior, and specify how imagery is made available for delivery. In the current and previous versions of Express Server, these configuration files must be edited “by hand” (using an XML editor to directly alter the XML), but future versions of Express Server will employ a graphical user interface that will enable editing the configuration files by means of easy-to-use checkboxes, drop-down menus and text fields. There are three main configuration files. The base configuration file, ”iserv-cfg.xml”, governs certain operating characteristics of Express Server. The JPIP configuration file, “jpiphost.exe.config”, controls how the JPIP Server operates. The catalog configuration file, “cat-cfg.xml” defines the image catalogs and their properties. 10

A LizardTech White Paper XML files are composed of elements and subelements. Some elements

Imagery served by Express Server need not reside on the same hardware as the Express Server installation. It can be stored in any network file system or in an Oracle database that Express Server has permission to access. IMAGE FORMATS For source imagery, Express Server supports MrSID, JPEG 2000 and NITF. MrSID and JPEG 2000 are

Related Documents:

Server 2005 , SQL Server 2008 , SQL Server 2008 R2 , SQL Server 2012 , SQL Server 2014 , SQL Server 2005 Express Edition , SQL Server 2008 Express SQL Server 2008 R2 Express , SQL Server 2012 Express , SQL Server 2014 Express .NET Framework 4.0, .NET Framework 2.0,

SQL Server SQL Server Express -Free version of SQL Server that has all we need for the exercises in this Tutorial SQL Server Express consist of 2 parts (separate installation packages): -SQL Server Express -SQL Server Management Studio (SSMS) -This software can be used to create Databases, create Tables, Insert/Retrieve or Modify Data, etc.

Microsoft SQL Server 2005 Express SP3 (x86 & x64Wow) Microsoft SQL Server 2005 Express SP3 (x86) Microsoft SQL Server 2008 Express SP1 (x64) Microsoft SQL Server 2008 Express SP1 (x86 & x64Wow) Microsoft SQL Server 2008 Express SP1 (x86) Microsoft SQL

INSTALLING SQL SERVER 2008 EXPRESS ADVANCED EDITION FOR REDHORSE CRM This article will walk you thru the installation of SQL Server 2008 Express Advanced Edition. Step 1: Download SQL Server 2008 Express Edition SQL Server 2008 R2 Express Edition

MS SQL Server: MS SQL Server 2017, MS SQL Server 2016, MS SQL Server 2014, MS SQL Server 2012, MS SQL Server 2008 R2, 2008, 2008 (64 bit), 2008 Express, MS SQL Server 2005, 2005 (64 bit), 2005 Express, MS SQL Server 2000, 2000 (64 bit), 7.0 and mixed formats. To install the software, follow the steps: 1. Double-click Stellar Repair for MS SQL.exe.

When provisioning a Windows Server for a specific role there are additional items to consider for further securing the server. When planning and provisioning your server layout, designate one primary purpose per server. Whenever possible, designate one server as the database server, one server as the web server, and one server as the file server.

4. To upgrade SQL Server 2008 SP3 Express to SQL Server 2012 SP2 Express, launch th e installer for SQL Server 2012 SP2 Express, and then follow the wizard. 5. Select the Upgrade from SQL Server 2005, SQL Server 2008 or SQL Server 2008R2 option under the Installation option. The Upgrade to SQL

Devices in ST’s ARM Cortex‑M0‑based STM32F0 series deliver 32‑bit performance while featuring the essentials of the STM32 family and are particularly suited for cost‑sensitive applications. STM32F0 MCUs combine real‑time performance, low‑power operation, and the advanced architecture and peripherals of the STM32 platform.