Purpose of the Oregon Dive Conditions Mashup:
The coast of Oregon’s weather and ocean conditions are highly variable both seasonally and daily. This makes planning a trip to scuba dive difficult for both recreators and researchers. The purpose of the Oregon Dive Conditions web-mashup is to combine information about dive sites along with the current oceanographic and atmospheric conditions. Ideally, an individual looking to go scuba diving can use this map to determine if the coniditions are good enough to get all of their gear together and set off on a scuba-diving excursion.

Data Sources for the Oregon Dive Conditions Mashup:
Three difference sources of data were used during the creation of this mashup:
1) Information about Oregon dive sites from ShoreDiving.com. This website provides the location of popular shore diving sites in Oregon and around the world. It also provides descriptions of the dive sites, tips, and directions.
2) The oceanographic data came from the National Data Buoy Center (NDBC). The mission of the National Data Buoy Center is to “provides comprehensive, reliable systems and marine observations to support the missions of the National Weather Service (NWS) and NOAA, promote public safety, and satisfy the future needs of our customers.” One of those services is a kml (keyhole markup language) file, which is the file type used to display data in Google Earth. One of the services they provide is a kml file that displays all of their marine observation assets located within oceans and water bodies throughout the world. This NOAA kml file (found at the bottom right section of the website) was used in the Oregon Dive Conditions mashup to provide oceangraphic information. The oceangranic parameters that are measured by the buoys off the Oregon coast include: air temperature, water temperature, wind speed and direction, significant wave height, dominant wave period, atmospheric pressure, and dew point.
3) The third data source used in the Oregon Dive Conditions mashup was long range reflectivity from the the National Oceanic Atmospheric Administration’s (NOAA) National Weather Service (NWS). Reflectivity is a measured to calculate precipitation, specifically it is the amount of power that is transmitted out of a weather radar device that is returned. Reflectivity is measured in dBZ, which are the values represented on the mashup. Higher dBZ values represent higher reflectivity, and therefore higher precipitation. On the Oregon Dive Condition mashup, areas where there are higher reflectivity values mean that there is most likely higher levels of precipitation in that area. For scuba diving, rain and clounds can cause the visibility while scuba diving to decrease, so including this information on the mashup helps let users know if there is rain or not approaching a dive site. The radar kmz was downloaded from the National Weather Service Radar Image site. The file can than be converted to a kml file by re-saving the downloaded kmz file as a kml file.
Step-by-step Oregon Dive Condition Google-Mashup Development
The Google-Maps API allows for open-source development of map-mashups. Users are given a wide variety of resources to develop their first map, including code with step-by-step instructions. An individual with no experience with html or javascript can use the basic codes provided through the Hello World! Google Maps example to start their own map. Many websites provide html and javascript tutorials. There are also websites with Web Publishing Technologies tutorials as well as Google-Maps API tutorials.
The first step is creating the base-map. This includes registering for the Google-Maps API Key and signing up for a Google Account. The basic map code is available in the Google-Maps API document, and the best example is the Hello World! code. It is easy to update the map-center coordinates to represent the location of a new map. An easy way to find out the latitude/longitude coordinates for an area is to find the address for the desired location and look that up using Google Earth. At the bottom of the Google Earth application will be the coordinates for the location (make sure the coordinates are in decimal degrees, since that is what Google-Maps requires in it’s html code). Here is an example of a basic map using the Google-Maps “Hello World!” example, as well as adding a point in the center of the map:

The next step is to add the points for the dive sites within Oregon. This is a relatively simple task, because it is repetative code and updating the text that goes within the infowindow. Here is an example of the basic map with the points for the dive sites:

Google-map with dive sites as points
Google also allows the developer of the map to choose what type of map is displayed. The first example showed the satellite version of the map. There are also options for the traditional road map and a terrain view.
It would be nice for the viewer to not just view the dive sites on the map, but have a list of them in a sidebar. This requires a bit more code then is given in the simple examples, because it requires not only pulling the data to display in point form on the map, but also requires pushing the information into a sidebar. The dive sites can be viewed by clicking on the sidebar, which will trigger that particular dive site’s infowindo to open in the map. Or, the map-viewer can click on a point on a map to view the infowindow for a dive site. Here is an example (without updated text) of the sidebar with a dive site selected to view the infowindow:

Sidebar with infowindow for dive site
The next step is adding the other layers. The first layer added is the NOAA observation buoys kml. The Google-maps API is great because it easily accepts live feed from kml’s and rss feeds so the data added to the map updates dynamically as the data is updated from the original source. There are many options for adding data, but adding a kml version of data is very simple. Google gives map examples for the options associated with the Google-maps API. When new to using html and javascript code, it is very helpful to view the map and then use the menubar of the web-browser, select View and then “Source” or “Page Source” to view the source code for the web page. Here is a screen shot of where to access this information:

View source code for a web-page
The kml and rss feed scode is relatively simple, and adding them to the google-map with the dive sites creates this dynamic map:

Kml layer of observation buoys added, showing dynamic infowindow.
The observation buoys also have infowindows that provide the oceanographic and some atmospheric data. The National Oceanic Atmospheric Administration’s National Data Buoy Center provided the kml file with this information.
The third data source, from the National Oceanic Atmospheric Administration’s National Weather Service, was added in the same fashion as the observation buoy information. It is another dynamic kml file added to the map. Here is the result:

Second kml layer of NOAA radar added to Google-map
Now all of the layers are on the map. However, the map as it is current is difficult to interpret and understand the purpose of the map. Also, the radar layer can take over the whole map when there is a lot of rain, so turning the layers on and off for easier viewing is necessary. Using basic html, the whole site can be updated to include a title, description, and basic instructions for using the map. With a little more advanced code, toggle buttons can be added to the map to allow a user of the map to turn the layers on and off. Here is the result (notice how the radar layer is not displayed on this map):

Example of toggle buttons on Google-map
Updating the header, adding a title, description, and instructions results in the final Oregon Dive Condition Google-Mashup:

Final Oregon Dive Conditions Mashup
Thanks Google for developing such a great platform for developing Google-map-mashups!
Discussion of Oregon Dive Conditions Google-Map Mashup:
The Oregon Dive Conditions Google-Map Mashup is a good place to begin to look to see if the conditions for diving along the Oregon coast will be good for a persons next dive trip. The oceanographic and atmospheric information, radar map, and dive site descriptions provide a great one-stop snapshot of what the conditions are for scuba diving. However, this map is a place to start to discover this information, and should not always be used for the final decision-making tool for whether or not a person should go diving. Contacting local dive shops, the experts, is one of the best way to understand local conditions, and in particular the nuances of each dive site. Propper training, certification, and equipment for scuba diving is always required. Not SCUBA certified? Both Professional Association of Diving Instructors (PADI) and Scuba Schools International (SSI) provide great training and certification options.
Other considerations to make when determining whether or not to go diving are beach water quality as well the tide level for when you are planning to go diving. These sources did not have easy to access to their data in the format to include in the mashup. Ideally, data displayed in the mashup will appear within the map, and will not require the user to leave the map site to view the information desired.
The Oregon Dive Conditions Google-Map Mashup provides a snapshot of the current state of the Oregon coast for shore diving. Go ahead! Check out the mashup, grab your dive gear, and go enjoy a scuba diving adventure on the Oregon coast!
Spanning over parts of seven U.S. states and one Canadian province, the Columbia River Basin (CRB) is the keystone of the Pacific Northwest. It is the heart and lifeblood of the region; yet the CRB now depends on complex transboundary management schemes born from the 1964 Columbia River Treaty (CRT) between Canada and the United States. The CRT was a shining example to the world of innovative and cooperative transboundary water resource management.
The current treaty provisions focus on flood control and shared hydropower benefits; however, shifting values illuminate a much broader spectrum of values and interests in the region than were reflected in the 1964 agreement. Furthermore, many stakeholders, including sovereign Native American tribes and First Nations, were not included in the original negotiations for the CRT.
Today, all of this could change. The flood control provisions of the CRT expire in 2024, which is also the end of the minimum lifespan of the treaty. Starting in 2024, either Canada or the U.S. can terminate the treaty given ten years notice. Thus, the earliest either country could give notice of intent to terminate is 2014, which is just around the corner. As such, the sovereign nations, non-sovereign stakeholders, and universities are all working now to evaluate the CRT and possible future scenarios for the CRB.
A vital component of this analysis is the assessment of the values and interests of all the stakeholders within the basin. Beyond this appraisal, these values need to be synthesized to determine points of leverage and opportunities for shared benefits in the future management of the Columbia. This mapping mash-up is the first step towards these research efforts.
The mapping mash-up of the CRB includes a variety of information (described below) to help in the spatiotemporal analysis of values in the basin. This map serves as a base on which one can plot and analyze geospatial data, which in turn will illuminate a more nuanced understanding of values in the CRB. For example, one could survey a diverse array of stakeholders throughout the basin, and then plot each respondent’s highest-ranked values according to zip code and analyze them spatially (for clustering or other spatial trends) and according to urban-rural, tribal, U.S.-Canada, and other variables. This type of analysis could be critical in facilitating dialogue and scenario development amongst stakeholders in the Basin.

The scope of the Columbia River Basin mapping mash-up
MASH-UP PROCESS
ArcGIS.com provides a fairly intuitive (for those with some experience using ArcGIS software) online map mash-up application. After opening an account, one can begin to build maps. The first step us to use the “Add” button to search for data sources. This process takes patience, but ArcGIS.com provides many helpful layers (particularly base layers and framework data) to help users get started. (Note: “user” in the context of this tutorial refers to the person developing the mash-up and/or web map application.)
Selecting a basemap is a good place to start. In the minimalist top menu, one simply clicks “Basemap” and experiments with the different options. One can also search for a layer and add it as a basemap if none of the basemap choices fit the user’s needs.
Clicking on a layer name causes a pop-up to appear showing a picture and brief description of what the layer includes. When the user encounters a layer that may fit the purpose of the map, he or she simply clicks the “Add” button next to the layer name. This displays the layer on the map. If the user does not like the layer, he or she can simply press the remove button. When the user has added all the layers he or she wants (note: more layers can be added at any time), he or she clicks the “Done Adding Layers” button to move on to customization.
Under the “Details” tab of the menu, one must click on the page icon (hover: “Show Contents of Map”) to customize the display. ArcGIS.com permits very limited customization compared to its software counterpart. For example, one cannot change the symbology or label fonts/size of layers added through ArcGIS.com. (It should be noted that users can create their own layers on ArcGIS and upload them into the online mapping application, which allows greater control over the look of the map). However, one can change the transparency of each layer, and when available, choose which layers within the dataset to include in the map view. In the CRB mash-up, many layers were disabled because they cluttered and detracted from the map’s effectiveness.

A smaller scale view of the Columbia River Gorge, which shows hydrology, smaller-scale watersheds/subbasins, and land use. When the user clicks on a parcel of public land (shapefile), a pop-up box gives additional information about the public land ownership and management. Similarly, clicking on the square blue points marking hydropower projects (which are also labeled) brings up a pop-out with additional information.
The user can edit whether and what data is displayed in pop-ups. One can enable pop-ups by clicking the arrow to the right of a layer (or sub layer). Then, one can use the same menu to “Configure Pop-Ups.” Within the menu that appears, one can “Configure Attributes” to display only relevant information. In the CRB mapping mash-up, pop-ups were enabled for the federal land ownership (a layer within the Subbasin dataset). Then, the pop-up for each state was configured to show similar, simplified data in a way that conveys relevant (not excessive) information upon the viewer’s click.
Finally, when the user is finished compiling and customizing the map, he or she should zoom to the desired extent (which will appear when the map is loaded) and then save the map.
DATA SOURCES USED
The CRB mapping mash-up includes three datasets and one basemap. The basemap is called “Imagery with Labels.” It is a simple satellite-image with modest inclusion of political features. Other basemap options included too many highways and cities at the large scale, which interfered with the lines marking the Basin (remember: the user cannot change the symbology to make the Basin stand out).
The first and most critical dataset is the Subbasin dataset from BPA (Bonneville Power Administration). This dataset includes a plethora of data and layers. For the scope of this mapping project, the Federal and Non-Federal Hydropower layers, Columbia Basin and NCPP Subbasin layers, and the Public Lands Boundaries layers for all seven states were included and visible in the map. See the link for greater detail about the data.
The second dataset visible in the mash-up is the National Hydrography Dataset (NHD). This dataset includes a great deal of information about bodies of water in the United States. It includes a Watershed Boundary Dataset, plus medium and high resolution datasets for hydrological features and their labels. In the CRB mapping mash-up, the subbasins, watersheds, and subwatersheds, as well as medium and high resolution line and flowline layers (along with all the available waterbody labels) are displayed on the map. These layers provide finer detail about smaller units of watersheds within the Columbia, and they show the flow patterns of small streams as they empty into the Columbia or other tributaries.
Finally, the third dataset is U.S. and Canadian Zip Codes. This layer is critical for any research project plotting survey responses by zip code. However, when made visible on the map, this layer cluttered the map significantly and did not contribute any deeper understanding of the basin. As such, it is not displayed in the mash-up website, though the data are still available for geospatial analysis.

This shows the ArcGIS.com web mapping mash-up application and the different datasets and layers selected for display in the map.
DEVELOPING A WEB APPLICATION
Maps created in ArcGIS.com can be shared as-is (by handing out the link to the mash-up page). Through the “Share” menu, ArcGIS.com also provides the users with functionality allowing the map to be linked directly to one’s Facebook or Twitter account. Beyond this, maps can be integrated into users’ personal websites. The “Embed in Website” option in the “Share” menu produces html code that the user can copy/paste into a personal website or blog (note: WordPress only allows this function for paid, upgraded accounts). This would put a frame (of a specified size) into the user’s website, allowing viewers to interact with a dynamic map. The final option for sharing, “Create a Web Application,” allows the user to create a dynamic webpage that integrates JavaScript and API programming, which allows additional functionality beyond the embed function. This is the most customizable option, making it ideal for professionals, companies, and organizations that wish to produce a polished, custom online mapping product.
Clicking the “Create a Web Application” button is the first step towards building a website. This produces a pop-up that provides a variety of templates that one can use to build a web application. Advanced users can create web applications from scratch, but for beginners, the template is a good starting point. One can “Preview” any template to see what the map would look like in each context. The CRB mapping mash-up uses the “Chrome – Legend” theme, which is a simple theme with the added feature of a map legend. Many other templates exist, including some themes that allow for side-by-side comparisons of maps (that can move in-sync); however, some of the templates have glitches in the code, which make them more difficult to use (unless one is skilled in API coding). Choosing a simple theme is a good option for beginners.
After one clicks “Download,” a zip file will open. The user must unzip the files (either directly onto a web server or onto his or her hard drive). A “readme” file walks the user through how to edit the template. ESRI employee Sterling Quinn (who led a training seminar on GIS web applications) recommended downloading notepad ++, a free HTML editing program that color-codes HTML. Once the user opens the “index” file in notepad ++, the first step he or she should do is to replace the sample map code with the custom ArcGIS.com map code. (This code is provided when the user downloads a template, and it is also part of the map link name.)
Beyond adding the relevant map code and changing the title, the user has a wide array of customization options. ESRI offers training, plus a plethora of online support forums and ArcGIS API samples for JavaScript. These samples help the user find the code to edit both the JavaScript file and the HTML to add widgets or increased functionality to the web map application. Even with the user support, the API has a steep learning curve, necessitating a fair deal of trial and error. Despite the challenges, the API options for web applications provide many options for users to create a fine-tuned, highly-customized web mapping application.
Finally, once all of the customization is finished and the final HTML and JavaScript files are saved, the user must upload all of the relevant files (those that came zipped with the template) onto a web server that will host the live website. The Columbia River Basin web mapping mash-up is hosted on the individual student ONID account through Oregon State University. Transferring all the relevant files into the public ONID folder created a website with a live http address.
DISCUSSION
While the web mash-up process is a great way for GIScientists to become acquainted with mapping mash-ups, it lacks the functionality and customization of an ESRI software package (which can be frustrating for users who started out using the software). Furthermore, data sets available on ArcGIS.com one day inexplicitly disappear the next. On the other hand, the ArcGIS.com layers are much simpler to find and combine than the alternative of digging through geodata clearinghouses and changing all the data to the same datum. Thus, what one loses in customization, one gains in a simplified, less costly, and less time-intensive process.
The data sources used in the CRB map were of surprisingly better quality than expected, especially since the sources found on ArcGIS.com were sufficient and superior to any found in hours of searching online and in clearinghouses. However, more data, such as rural/urban designations, endangered/threatened species habitat, and value plots (as described in the potential research project) would all add depth to the map.
Finally, the web mapping application and API coding, even with the availability of online help resources, are complicated and somewhat treacherous processes. Some of the “ready to go” templates lacked the code (webmap = “”) where the user is supposed to enter their web map ID. Adding the code from other templates failed to produce the desired result. Furthermore, though the API for JavaScript samples included sample API for including a “Toggle Layer Visibility” feature (which would have been a great asset to the CRB map), the desired effect was not achieved despite multiple configurations and attempts at adapting the code (and editing the JavaScript accordingly). Thus, one can conclude that, though the API help resources are useful, there still exists too great a gap between the beginner and being able to apply the help resources to produce meaningful results. More basic API instruction, code, and video training is needed to help beginners reach a more independent level of coding.
Despite some limitations and simplicity, the Columbia River Basin web mapping mash-up was a success. If nothing else, the map is dynamic and includes different and finer details at different scales, and it allows users to interact with the map in a way that sheds new “layers” of understanding on their current conceptualization of the Columbia River Basin. This achievement exemplifies the future of geography, a field of study formerly associated with antiquity, which is now helping people (of all skill levels) around the world analyze and solve problems more effectively by connecting ideas and trends with space and place through interactive and engaging mediums.
If you haven’t yet: Check out the Columbia River Web Mapping Mash-Up!