I
started the above linked website in order to experiment with
open web mapping standards. There has been a lot of talk about
Open GIS
Consortium standards of late, so I decided to make my own
global web map using some of the map data available through
these Internet standards. It's nothing fancy to look at, but
how data behind it comes together is very intriguing. Any time
I find a new data source that may be interesting to look at, I
add it to my growing list of layers. Which brings me to
Hurricane Frances.
Earlier today I received an email
pointing me to a web map
showing a current (updated every 6 hours) track of Hurricane
Frances. Because the developers of the site (DM Solutions) implement
open web mapping standards, I knew I'd probably be able to
access the same data source they did for their track of
Frances. Sure enough, I looked at their map
credits page and found the reference I was
after:
Perfect. This
resource URL is the gateway to the service providing the
Frances storm track data. I punch the URL into my web browser,
and add request=getcapabilities to the end:
http://dev.gomoos.org/cgi-bin/wms_nhc?request=getcapabilities
This
returns an XML document describing this Web Map Service (WMS).
I zip down to the section describing the layers and find the
Name of the layers they have available. ("grep Name"
works a lot easier) Ah - two of the layers are hurricane
layers.
Next, I turn to my MapServer
configuration file (aka "map file"). I have several other WMS
data sources already loaded in map file so I just copy and
paste one of them and make a few changes. I change the
resource URL to point to the gomoos URL. I change some layer
settings to use the frances_track and
frances_latest layers from that WMS service. A couple
of HTML tweaks to my (admittedly spartan) mapping interface
and I'm ready to go.
Back in the web browser, I point
back to my site, et voila. Frances appears! Updates occur
every six hours. If you zoom in you can see that the remote
server even timestamped the tracked locations.
So what did this teach me? Well, it
continues to build my confidence in the applicability of web
services and open source solutions. Although I had to wade
through a tiny bit of XML, it really didn't take any effort
and only a few minutes to add a powerful little piece of data
to my public site. Just think of the possibilities. Today,
Frances. Tomorrow, gas prices in California - but that's a
weblog for another day!
Tyler
Mitchell is a geographer - at heart and at work - and has
a BA in Geography from Lakehead University.
What would you put on
your map? Have an idea that open web map standards could help
deliver? Let's talk about it. You
must be logged
in to the O'Reilly Network to post a comment. Trackbacks
appear below the discussion thread.
Showing messages 1 through 2 of 2.
Another Hurricane Added -
IVAN 2004-09-07
22:50:00
TylerMitchell
[Reply
| View]
In
just a few minutes tonight I was able to add in another
hurricane track to my application. This time for Hurricane
Ivan. See my page to check it out. I discovered it was
recently added to the "capabilities" document and thought
I'd try it out.
-Tyler
Examples of my MapServer map
file 2004-09-06
09:40:24
TylerMitchell
[Reply
| View]
Here
is the tidbit from my map file that maps the hurricane's
latest position. Pretty simple! Note that with my metadata
settings, this also sets up this layer to shared from MY
server as a WMS source too. The idea of 'cascading WMS' is
quite powerful
LAYER GROUP
frances NAME frances_latest TYPE RASTER STATUS
OFF CONNECTIONTYPE WMS CONNECTION
"http://dev.gomoos.org/cgi-bin/wms_nhc?" METADATA "wms_name"
"frances_latest" "wms_srs"
"EPSG:4326" "wms_server_version" "1.1.1" "wms_layers"
"frances_latest" "wms_request" "GetMap" "wms_format"
"image/gif" "wms_connectiontimeout"
"60" END END
Showing messages
1 through 2 of 2.
Trackbacks Comments made on
other sites via trackbacks appear below.
Trackback fromJoshua
Marinacci's Blog New MiniApp:
Storm Drain 2004-09-28
16:48:22 Joshua creates a new miniapp to display
hurricane webservice data and perform image
manipulation.