|
Dedication General information Frequently Asked Questions How it works Acknowledgments Liscense (GPL) and code |
| This site is dedicated to Robert and Terri Bixby, whom I knew as a scout and as a university student. Their work at the St. Cloud State University Spatial Analysis Research Center introduced me to the field of Geographic Information Systems, and this site exists because of their influence. |
|
Scoutlas is a website for making and viewing maps. In many ways, Scoutlas resembles internet map sites like mapquest, mapblast, mapsonus, and others. Users can adjust the viewable area, zoom in or out, and adjust the level of detail shown. Scoutlas has interactive features--that is, some types of markers will respond when clicked, usually presenting the user with additional information. Scoutlas also allows users to interactively add features, and attach www links to features. Scoutlas is not owned or operated by the BSA, GSUSA, or any other organization. Scoutlas is a privately owned site, and completely non-commercial. It is provided as a volunteer service, and is supported with donated time, hardware and internet access. |
|
Scoutlas is a strange name, how did you pick it? Scoutlas = Scouts + Atlas. I couldn't think of anything better. What is scoutlas good for? You can do a lot of things with Scoutlas. Feel free to suggest more: How did you make the logo? I used The GIMP, a wonderful (and free) graphics program originally developed for Linux, and now available on many other platforms, including Windows. The logo itself started as 4 separate pictures: --the "Scoutlas" text --the compass picture (from somewhere on the web) --the hiker silhouette, (from somewhere on the web) --the map background (from topozone.com) These pictures were added to the drawing as separate layers, which allowed them to be moved around and adjusted independently. I added semi-transparent colored layers between the main ones. I adjusted the color and transparency of these to get the right color and "faded" effect for the background. How can I contribute to this project? There are several ways: How exactly does the site work? Hmm, where to begin? Well, there are two important data files: And one very important program file, which controls everything. The program file accepts input from users, extracts data from the two data files mentioned above and assembles it into a web page. These assembled web pages consist of: The map image is generated by the US Census Bureau's TIGER map server. As far as I know, this is the only mapping service that allows users to specify a list of features to be drawn (this is what makes Scoutlas possible). It is hard to describe in plain english how scoutlas program functions, but I will give an example of the steps involved in a typical page view. 1. A user is looking at the scoutlas page, and wants to zoom in. The user clicks on the map image. 2. Javascript code on the page detects the mouse click, and calculates where the mouse is located over the map image. (this will be used to zoom in on the appropriate spot.) 3. The javascript code generates a page request to the server. It supplies the mouse coordinates that it just calculated, along with the lat/lon coordinates of the original image, the image width, height and coverage area, and amount to zoom. 4. The server gets the request. In this case, the request is for the output of the scoutlas.cgi program. The server executes the scoutlas.cgi program, passing along the all the pieces of information it recieved from the browser. 5. The scoutlas program springs into action. First, it checks the input parameters to decide how to process the request. This request is just for a typical map view. 6. The scoutlas program does some math to figure out where the new map should be centered (using the coordinate parameters from step 3). It does some more math to figure out how much area the image will cover (using the zoom amount from step 3). 7. The scoutlas program opens up the features data file and extracts all the features that will be visible on the map (making use of step 6's coverage area calculations). 8. The scoutlas program does some more math to figure out exactly where each feature will show up on the map. It does a little more math to figure out if any features should be "grouped" (if they would be too close together to distinguish individually). It uses a neat algorithm to do this, which is described in detail in the code. 9. Now that the scoutlas program knows which features will be on this map (and where), it can begin to generate the HTML page. Other than the normal layout of the page, data for each visible feature is stored on the page in a javascript array. Also, an image map structure is generated (sometimes called a client-side image map). This defines which parts of the image will be sensitive to mouse clicks. 10. Then there's the map image itself (the picture). It will be an image generated by the TIGER map server. The scoutlas program supplies coordinate information and other parameters here as well, inside the < img > tag. 11. After the page has been built, the scoutlas program exits. The server takes the complete page and returns it to the user's browser. 12. The user's browser draws the page, and sends a request to the TIGER map server for the image. This request includes the coordinate information and other parameters from step 10. 13. The tiger map server gets the image request and executes a program of its own to generate the image. It passes along all the parameters it recieved. 14. One of those parameters says, in effect, "go get a list of features from the specified website and draw them on the map". The specified website happens to be the scoutlas site. 15. The TIGER server sends a web page request to the scoutlas server. The request comes with very similar coordinate parameters to the ones in step 3. However, the result will not be an HTML page. The TIGER map program expects the resulting data to be a list of feature names and coordinates. (repeat step 4) 16. The scoutlas program springs into action. First, it checks the input parameters to decide how to process the request. This request, as described above, is for a list of features and coordinates. (repeat steps 6, 7 and 8) 17. The scoutlas program can now generate the list of visible features. It does so. 18. The list is returned to the TIGER map server, which generates the image. The image is returned to the user's browser, which draws it. At this point, the entire process is complete. The user now sees a page with a zoomed-in map. |
|
Thanks to the following people and organizations:
|
|
The code for this site is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details: Download the code |