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