Академический Документы
Профессиональный Документы
Культура Документы
1 INTRODUCTION History of GloVis Installation Guide Caveat Installation First Steps 2 HARDWARE REQUIREMENTS Java Applet Web Pages Ingest Overview 3 OBTAINING THE GLOVIS SOURCE CODE GloVis Distribution Website Registration for Download Access Downloading the Source Code Package 4 PREPARING FOR INSTALLATION Application and Data Overview Decompressing the Source Code Package Web Server Notes Defining Environment Variables Environment Variables for Advanced Installs Linking in Your Data Inventories Creating the State Locator Map cont 1 1 2 3 4 4 4 5 5 6 6 6 6 7 7 8 8 9 10 11 12
ii
13 14 14 15 16 17 17 18 18 18 18 19 20 21 21 21 22 22 23 23 24 24 24
Downloading GloVis Browse Image Data Downloading Default NDVI Data Downloading Default Linework System-Specific Notes
Solaris
External Tools
Applet Tools Ingest Processing Tools Map Layer Tools
6 WRAPPING THINGS UP Viewing Your StateView Website Feedback of Code Changes/Bug Reporting
iii
8 DOCUMENTATION AND SUPPORT System Information Programming Information General Satellite Data Information Example StateView Websites
9 DISCLAIMER 10 ACRONYMS 11 APPENDIX A. Signing Your Java Applet B. Address Search
28 28 28 28 29
30 31 33 33 36
iv
1. Introduction
History of GloVis The Global Visualization Viewer (GloVis) application was originally conceptualized and prototyped at the USGS National Center for EROS in response to a need to strive beyond the typical metadata query capabilities of GLIS or Earth Explorer; to provide the additional infrastructure of a visual remote sensed data search and order client. This client would be driven by visual queries, versus the traditional metadata-driven searches previous search and order tools utilized. GloVis was prototyped with Landsat 7 ETM+ data initially and was received positively by the USGS AmericaView program customer. The USGS requirements were documented at that point and the prototype began to take shape. The next two releases focused on code cleanup, and the GloVis project was brought to official status. Landsat 7 ETM+ data has become just the tip of the iceberg; many more remotely sensed data collections have been added as the application has transitioned from prototype to official development. Through the joint efforts of AmericaView and the NASA Distributed Active Archive Center (DAAC), access to the ASTER Level-2 VNIR browse dataset was added next. As the notoriety of the application increased, the tool was quickly adopted by users as a reliable search and order interface, and is now widely used. Excitement surrounding the ability to quickly locate and view browse imagery and easily select interesting scenes for ordering has led to requests for many additional remote sensed datasets to be added to the tool. The ASTER Level-2 VNIR browse were later replaced with Level-1B VNIR browse, and GloVis now contains the original Landsat 7 ETM+ as well as ASTER Level-1B VNIR and Level-1B TIR; Landsat 7 ETM+ SLC-off; Landsat 4/5 TM; Landsat Orthorectified ETM+, Pansharpened ETM+, TM and MSS; Landsat 1-3 and 4/5 MSS; MRLC 2001 Terrain Corrected, and 2001 Reflectance Adjusted collections; Earth Observing-1 (EO-1) ALI and Hyperion data; NAPP and NHAP aerial photography; MODIS grid datasets; and the list of datasets keeps growing. The most recent addition is Landsat 8, released in 2013. Landsat 8 continues more than 40 years of coverage of the earths land surfaces.
Introduction (cont)
2. Hardware Requirements
GloVis is actually split into several parts: the java applet that presents the data to the user, the web pages associated with the applet, and the ingest code to convert the imagery into the format required for the applet. Each of these parts have separate requirements, as will be described next.
Java Applet
On the user's side, it requires any web browser with support for Java 6 (plug-in version 1.6 Update 10 or higher) but the most recent version is strongly recommended. Java is built into many browsers and can be added to other browsers by downloading, installing, and enabling a plug-in. To get the JRE, go to <http://java.com/> and select the Free Java Download link. On the developer's side, it requires any recent Java Software Development Kit (SDK), which is available from Oracle at <http://java.com/>.
Web Pages
Requires a web server to serve up the pages. At EROS, we run Apache on a Linux server. The web pages have a few things in them that depend on Apache functionality and configuration options. But it would probably be relatively easy to eliminate those and run it on any web server. The size of the server depends on how many simultaneous users you expect at once. Enough disk space to hold your data.
Ingest
The ingest software has only been run on Linux. But it should be fairly easy to adapt to nearly any type of Unix without much (if any) work. However, you'd need to customize the ingest software for your data. Note that most states do not run the ingest code and instead download the processed browse scenes associated with their data from the GloVis inventory. More information about this option is available in Preparing for Installation: Application and Data Overview.
Overview
In general, many parts of the software build process assume it is running on some flavor of Unix. Adapting it to work on a Windows box would require a lot of work. In a nutshell, the system requirements for ingesting and serving web pages is any moderately sized PC running a version of Linux. But it would take very little work to adapt it to some other flavor of Unix if you want. A note about your network connection; if this is to be a publicly available web site, obviously the better your connection the more your users will like it.
So, the basics of getting a StateView website up and running are: retrieve and decompress the source code, build and install the Java applet, and download the browse images and files associated with each scene from the GloVis inventory for your state in order to build your browse inventory.
The source code is now ready for customizing for your specific installation.
When the glovis_env script is executed, GV_HOME can be set with an input value, provided as a command line parameter; its value will default to $HOME/glovis_build if not specified, which you may also wish to modify. GV_HOME should reflect where you wish to install the application; this should point to a build location where the compiled pieces of the application will be installed, under the web servers root html directory. Additional notes about command -line parameters to the script are provided in the header block of the script. It is purely preference whether you permanently modify the value of GV_HOME directly in the glovis_env script or whether you set it via the command line parameter to the script each time you are building the code.
If you do want the features available in the File menu, you must create a Java security certificate (use keytool) and use the same parameters for your public key on the Java applet side ( jarsigner). A link to learn more about these tools is provided in Documentation and Support: Programmer Information. Weve also provided information on how we go about signing the applet in Appendix A. Signing Your Java Applet. Signing your applet using a certificate from a recognized Certificate Authority will also reduce the number of warnings users see when accessing your site.
If you determine you need to define any of the variables from the glovis_config file, the easiest thing to do would be to add the needed variables to the glovis_env, assigning them appropriate values according to the comment provided for each. Two separate scripts to define these variables is not necessary for your purposes, so just combine the variable definitions into a single script. We have two scripts to keep system-sensitive information out of the source code package we distribute to the public.
10
11
12
13
Each of the variables represents one of the sensor menu items Any parameter set to enabled (as is the default for all) will be added to the Collection menu Any parameter set to view only will be added to the menu but the Send to Cart button at the bottom of the Scene List will be absent Any parameter set to hidden will not be shown in the Collection menu
14
Additional Modifications/Notes
There a number of additional changes you will surely need to make to the overall look of the webpages and applet to identify the application as your states StateView website. You may want to initially build and install the default pages, then review them to identify where additional updates are needed. Keep a list of all the files you modify in the code and additional files you add to the codebase (new images, etc); this will be handy if you ever wish to upgrade to a new GloVis version. Some suggested additional information that you will likely want to change includes: Create a custom header banner, image map, and footer for the homepage (glovis/web/mainpage/index.shtml or glovis/web/includes/headerinclude.html, header_glovisb2.html, footer.shtml) Customize the navigation bars on the homepage
Trim the sensor list on the homepage to only contain the data you are distributing Various Makefiles may need review and updates for your replacement files Modify glovis/web/ImgViewer/Sensor.java to reference your local archive Modify glovis/web/ImgViewer/GloVis.Properties according to your installed datasets
15
16
17
18
19
20
21
External Tools
For the most part, installing a StateView website will not require the use of any external tools since most of the ones GloVis uses are only needed for ingesting data. Applet Tools: There are two tools, though, that are needed to display the Landsat-7 ETM+ SLC-off browse scenes, so everyone planning to distribute SLC-off data will need these. The libgd is available in the base install of Red Hat and probably most other Linux distributions. Some care must be taken though, to make sure the libgd and the Perl GD library you will also need are compatible. We are actually using a fairly old version of Perl GD since Red Hat was shipping a relatively old version of libgd. If you decide to use a different version of either of these tools, make sure it is compatible with the version of the other tool you are using. (Make sure you setup your environment variables properly with the glovis_env script before executing these installs.)
Perl GD module (we use GD 1.41) Create a new directory to retrieve the module to (lets use perl_gd here) Download the Perl GD module from CPAN.org at the following location: <http://www.cpan.org/modules/by-module/GD/> Move the appropriate archive file into your perl_gd directory Copy the Makefile file from glovis/coop_utils/perl_gd to your perl_gd directory (if you use a different GD version than we do you will have to modify this file slightly to change the file and directory names; you will also have to make sure the version of libgd you are using is compatible with your GD module) Go into your perl_gd directory and execute make to build and install the library (answer the prompts for types to install support for as follows. JPEG: y, FreeType: y, XPM: y, GIF: n) Verify the install worked by executing ls $GV_HTML/ImgViewer/perllib/i386-linux-threadmulti; you should see a GD.pm file and a few other related files libgd, which is used by the Perl GD module (we use packages gd-1.8.4-12 and gd-devel-1.8.4-12) We use the default libgd shipped with Red Hat, so we will not go into install details here
22
23
6. Wrapping Things Up
Viewing Your StateView Website
You now should have the applet and web pages for the application tailored, built, and installed; the browse scene data for the scenes purchased by your state should be downloaded to your local inventory; and the linework files should be copied to your local system, if you have chosen to incorporate these into your StateView instance. With these steps complete, you now can type the location of your website into a current generation browsers URL field and view your states remotely sensed image data browse inventory with your new StateView application. The homepage of the website is the glovis/web/index.shtml file. After installing the application, you will need to use a web address similar to this to view your homepage: http://www.<your_host.domain>/<stateview>/. You may wish to have your system administrator setup an alias for your website so you can have an address more like this: http://<stateview.your_host.domain>. Your administrator may have to add index.shtml to the list of index files the web server looks for.
24
7. Upgrade Installs
Once you have your StateView website created and a new version of GloVis is released, it may be a daunting task to upgrade your code. This task can be accomplished actually, if you follow the proper steps. First, review the release notes for the new version and see if you are even interested in incorporating the updates into your StateView instance. If you do wish to install the new version, follow the instructions provided below.
25
26
27
Programming Information
About Environment Variables: http://www.iu.hio.no/~mark/unix/unix.html#SEC27 Perl Documentation: http://perldoc.perl.org/ Javal: http://java.com/ jQuery JavaScript library: http://jquery.com
28
29
9. Disclaimer
The GloVis source code is provided "As Is", without a warranty or support of any kind. The software is Government Off-The-Shelf (GOTS), public-domain; it is available to any government, public, or private institution. Occasionally, limited support will be considered for agencies with whom we have cooperative agreements or mutual goals.
30
10. Acronyms
ALI ASTER CSS DAAC EO-1 EROS ETM+ FTP GIF GloVis GLIS GOTS JPEG Advanced Land Imager Advanced Spaceborne Thermal Emission and Reflection Radiometer Cascading Style Sheets Distributed Active Archive Center Earth Observing-1 Earth Resources Observation Systems Enhanced Thematic Mapper+ File Transfer Protocol Graphic Interchange Format Global Visualization Viewer Global Land Information System Government Off-The-Shelf Joint Photographic Experts Group
JRE
LDCM MODIS MRLC MSS
31
Acronyms (cont)
NAPP NASA NDVI NCSA National Aerial Photography Program National Aeronautics and Space Administration Normalized Difference Vegetation Index The National Center for Supercomputing Applications
NHAP
POC SLC SSI TOC URL US USGS VNIR WRS
32
11. Appendix
A. Signing Your Java Applet
If you wish to support the functions of the GloVis applet that arent normally allowed by applets (the File menu, which has functions to write files to the users hard drive), here is some more information about how to sign the applet to allow users to give permission for the applet to have functionality that Java normally wouldnt permit. Following is details of how we setup the Java key, how to use it, and other factors you might want to consider. Review the Securing Java website if you need help understanding Java security. The link is given in the Documentation and Support: Programming Information section. Here are the targets in a Makefile we use to build the Java key used to sign the applet: # target to make a Java security key javakey: keytool -alias $(GV_JAVASEC_ALIAS) -storepass $(GV_JAVASEC_PASSWORD) \ -keypass $(GV_JAVASEC_PASSWORD) -genkeypair -keyalg RSA -sigalg MD5withRSA \ -keystore javakey -keysize 2048 -dname "$(GV_JAVASEC_NAME)" # target to make a Java security certificate signing request (CSR) for Symantec csr: keytool -certreq -alias $(GV_JAVASEC_ALIAS) \ -storepass $(GV_JAVASEC_PASSWORD) -keystore javakey -file csrFile # target to import the certificate from Symantec into the key file importcsr: keytool -importcert -alias $(GV_JAVASEC_ALIAS) \ -storepass $(GV_JAVASEC_PASSWORD) -keystore javakey -file cert.cer
33
GV_JAVASEC_KEYST ORE
34
35
36