MapServer: Web Coverage Server

Download Report

Transcript MapServer: Web Coverage Server

MapServer-OGR-OPeNDAP:
An Integrated System for
Uniform Access to Land and
Oceanographic Datasets
Frank Warmerdam
Consultant
Thomas E. Burk
University of Minnesota
MUM-2004, Ottawa, Canada
MapServer-OGR-OPeNDAP
•
•
•
•
Background
Implementation
Usage
Demonstration Application
2
Background
• MapServer
 Targeted,
easy-to-use application development
 GIS
data
 Simplified visualization and query
3
Background
• OPeNDAP
 Protocol
for sharing scientific datasets
 Generic data types
 Data formats including NetCDF, HDF, etc.
 “User” is software system (e.g., Matlab)
4
Background (MapServer vs.
OPeNDAP)
• With MapServer, “Consumer” is an end user
Client
Internet
MapServer
5
Background (MapServer vs.
OPeNDAP)
• With OPeNDAP, “Consumer” is a data analysis system
DODS Matlab Client
Internet
DODS Server
6
Background
• Project objective
 MapServer
client interface (browsing,
visualization, query) to the scientific data
sources distributed through OPeNDAP servers.
7
Implementation
MapServer
Client
MapServer
New .map file key
words
Define
specification of
OPeNDAP url
OGR
OPeNDAP Server
Invoke OPeNDAP
driver
OPeNDAP Data Model
(Abstracts various
internal formats into
few global (output)
formats)
OPeNDAP URL
MS/OGR
Interface
Translate
OPeNDAP data
into OGR data
OPeNDAP
spatio- temporal
data
8
Implementation
• Core components


New OGR Driver
Data translation between OPeNDAP and MapServer
o
o

Support Files
o

Convert complex to simple data types
Spatial referencing
Ancillary Information Service (AIS)
OPeNDAP complexity
o Data Descriptor Structure (DDS)
o Data Attribute Structure (DAS)
9
Implementation
• Data translation
 Simple
o
Point strategy
From OPeNDAP DDS, return point features, one feature
per item in a sequence
Example DDS:
dataset {
sequence {
float64 lat;
float64 lon;
string experimenter;
int32 time;
} casts;
} data;
10
Implementation
• Data translation
 Other
o
o
o
strategies
Nested Sequence Line
Nested Sequence Normalized Point
Array/Grid Point
11
Implementation
• Data translation
 MapServer-side
o
support files
DODS configuration
– Caching
o
MapServer-OGR-DODS configuration
– Ancillary Information Service (AIS)
» Projection related information
» Additional DAS definitions
12
MAP
NAME "test"
SIZE 400 400
EXTENT -2 -2 10 10
UNITS dd
Usage
CONFIG DODS_CONF "/data2/projects/dods/demo/dodsrc"
CONFIG DODS_AIS_FILE "/tmp/ogr_test_eg.xml"
# DODS client configuration file. See the DODS
# users guide for information.
USE_CACHE=1
MAX_CACHE_SIZE=50
MAX_CACHED_OBJ=5
IGNORE_EXPIRES=0
CACHE_ROOT=/data2/projects/dods/demo/dods_cache/
DEFAULT_EXPIRES=86400
ALWAYS_VALIDATE=0
13
Usage
MAP
NAME "test"
SIZE 400 400
EXTENT -2 -2 10 10
UNITS dd
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!DOCTYPE ais SYSTEM "http://www.opendap.org/ais/ais_database.dtd">
<ais xmlns="http://xml.opendap.org/ais">
<entry>
<primary
regexp="http://www.epic.noaa.gov:10100/dods/wod2001/natl_prof_bot.cdp*"/>
<ancillary url="/tmp/natl_prof_bot.cdp.das"/>
</entry>
<entry>
<primary
regexp="http://www.epic.noaa.gov:10100/dods/wod2001/natl_prof_ctd.cdp*"/>
<ancillary url="/tmp/natl_prof_ctd.cdp.das"/>
</entry>
</ais>
CONFIG DODS_CONF "/data2/projects/dods/demo/dodsrc"
CONFIG DODS_AIS_FILE "/tmp/ogr_test_eg.xml"
14
Usage
ogr_test_eg.xml
…
…
<entry>
<primary
regexp="http://www.epic.noaa.gov:10100/
dods/wod2001/natl_prof_bot.cdp*"/>
<ancillary
url="/tmp/natl_prof_bot.cdp.das"/>
</entry>
….
….
Attributes {
ogr_layer_info_1 {
string layer_name normalized;
string spatial_ref WGS84;
string target_container location.profile;
x_field {
string name location.lon;
string scope dds;
}
y_field {
string name location.lat;
string scope dds;
}
}
15
Usage
LAYER
NAME "nabd"
TYPE POINT
CONNECTIONTYPE OGR
CONNECTION
'DODS:http://www.epic.noaa.gov:10100/dods/wod2001/natl_prof_bot.cd
p?lat,lon'
DATA 'profiles'
STATUS default
CLASS
NAME "N. Atlantic Bottle Data"
COLOR 255 0 0
SYMBOL 'cross'
SIZE 8
END
END
16
Usage
• Additional examples
• Subsetting can be done using DODS constraints
• Basic url: (get all data, including spatial and non-spatial)
• 'DODS:http://www.epic.noaa.gov:10100/dods/wod2001/natl_prof_bot.cdp’
• Constraints
• Only spatial attributes
• “DODS:http://www.epic.noaa.gov:10100/dods/wod2001/natl_prof_bot.cdp
?lat,lon”
• Non-spatial attributes
• “DODS:http://pdas.navo.navy.mil/cgi-bin/nphnc/data/DBDBV/DBDBV_north_atlantic.nc?time”
• Spatial subsetting
• “DODS:http://pdas.navo.navy.mil/cgi-bin/nphnc/data/DBDBV/DBDBV_north_atlantic.nc?Depth[300:308][0:5]”
17
Demonstration
This application is built using North Atlantic Bottle and
CTD data served by the OPeNDAP Server
http://www.epic.noaa.gov:10100/dods/
Bottle data – data collected using individual bottles for
rosettes (attributes include – temperature, salinity,
oxygen, silicate, nitrate,…)
CTD data - conductivity-temperature-depth data
measurements from the ocean (attributes include pressure, temperature, salinity,…)
18
Demonstration
19
Demonstration
N-Query
20
Questions
?
Documentation and Applications
http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?DODS
http://www.opendap.org
http://walleye.gis.umn.edu/projects/dods/demo/
21