Page 1 of 3

Free full screen topo maps & display GPS track

PostPosted: Fri Nov 27, 2009 12:49 am
by Jelf
Hello Everyone,

My name is Joseph Elfelt and I have a Thanksgiving Day present for you. I’ve written a map viewing program based on Google maps and including the detailed 7.5 minute topo maps from the MyTopo company. http://www.mytopo.com/ Here’s an example showing the visitor center at Mt. Rainier:
http://www.mappingsupport.com/p/gmap4.php?ll=46.785956,-121.737785&z=14

The topo maps include the USFS updates to the USGS topo maps. These updates cover many (but certainly not all) national forest areas and show USFS road numbers. The MyTopo maps are also better quality than the Terraserver maps and (I’m told) also better quality than the NG TOPO maps. I believe they include Canada.

The gmap4 map viewer understands these parameters:
q= http: pointer to a kml file anywhere online.
ll= map center. For North America use lat,-lon decimal degrees (same as Google, etc)
z= map zoom
t= map type

I’ve not implemented searching (yet). Use plain old Google maps to search. Once you have found whatever it is, get its latitude/longitude by doing the following: Point to what you found ==> right click ==> What’s this? ==> copy lat,lon from map search window.
Paste the lat/lon into the following line and then paste the entire line into your browser bar:
(Not a link)
http://www.mappingsupport.com/p/gmap4.p ... t_lon_here

Here’s an example of using the q parameter to display GPS info on the map. I live near Redmond, WA and here’s a map showing my GPS track for a hike I’ve done in the Washington State Cascades. Note that the q parameter is pointing to a kml file.
http://www.mappingsupport.com/p/gmap4.php?q=http://www.mappingsupport.com/p/kml_demo/county_line_trail_with_pic.kml
Did you notice the embedded picture link?

Here’s how to make a similar map showing GPS data:
1. Convert your GPS data to a kml file
2. Put your kml file online. Make sure other people have ‘read’ permission for the file.
3. The link to your map is: (Not a link) http://www.mappingsupport.com/p/gmap4.p ... _your_file

Here are some of the ways you can make a kml file containing your GPS and related data:
A. GPSBabel (http://www.gpsbabel.org/) They re-designed their website since I saw it last. Easily converts GPX to KML.
B. GPSVisualizer. (http://www.gpsvisualizer.com/map_input?form=googleearth). The output includes a fair bit of clutter in the form of tags that are used by Google Earth but are ignored by Google maps.
C. By hand. Here is the documentation from Google (http://code.google.com/apis/kml/documentation/) and there are examples in the tutorial. You must save a kml file with UTF-8 encoding. I use the free Notepad++ (http://notepad-plus.sourceforge.net/uk/site.htm) for editing kml files. Since kml files are a type of xml file, it really helps a lot to use an editor designed for working with xml files.

See the kml source file I used in the above example map for one approach for organizing the contents of a kml file.

Oh, and anything you include in the <Document><description> tag is treated as a caption and gets welded to the top of the map. See my example source files.

To launch gmap4:
http://www.mappingsupport.com/p/gmap4.php to see the default map (Google’s campus at Kirkland, WA)
or
(Not a link) http://www.mappingsupport.com/p/gmap4.php?ll=lat,-lon
or
(Not a link) http://www.mappingsupport.com/p/gmap4.p ... o_kml_file

To fully specify a map, use all 4 parameters.
http://www.mappingsupport.com/p/gmap4.php?q=http://www.mappingsupport.com/p/kml_demo/Johnson_Ridge.kml&ll=47.791883,-121.229658&z=14&t=t2

But what if you don’t have your own website for hosting your kml file online? No worries. You can store your kml file in the cloud as a Google Document txt file and read it with the gmap4 map viewer. Since I’ve already given you a bunch to think about in this post, I’ll save those details for later.

Teaser: If several people are working together to make a trail map for an area, everyone in that group can pool their data by directly editing the same file in the Google cloud.

Enjoy and Happy Thanksgiving,
Joseph Elfelt

PostPosted: Fri Nov 27, 2009 8:50 am
by visentin
Hello Josef,

Does your map allow loading and displaying GPX tracks ?

Eric

PostPosted: Fri Nov 27, 2009 2:25 pm
by Jelf
Eric,

Others have also asked if my map supports GPX files.
No, I am sorry but my map does not support reading GPX files.
The standard Google map viewer also does not support reading GPX files.

In order to read GPX files I would have to add code to my map to convert GPX files to KML files. The good news is that there is freeware code available online that I should be able to copy and use.

Hmmmm...there are all those GPS units all around the world producing GPX files....hmmmm....
OK, you convinced me. I will try to add GPX support as the next enhancement.

Meanwhile, have you tried GPSBabel to convert your GPX file to a KML file?

Also, I expect you know that the MYTopo maps are only available for the USA and Canada.

PostPosted: Fri Nov 27, 2009 4:44 pm
by MoapaPk
Nice job on the relief shading. I use GPX, but you would think it pretty easy for the user to do a conversion to kml.

PostPosted: Fri Nov 27, 2009 5:17 pm
by Jelf
Thanks, but I cannot take any credit for the relief shading. That was added by the MyTopo company. In fact, someone asked if I could remove it. Alas, the MyTopo API does not provide that feature.

Joseph

PostPosted: Fri Nov 27, 2009 8:56 pm
by visentin
Jelf wrote:Eric,

Others have also asked if my map supports GPX files.
No, I am sorry but my map does not support reading GPX files.
The standard Google map viewer also does not support reading GPX files.

In order to read GPX files I would have to add code to my map to convert GPX files to KML files. The good news is that there is freeware code available online that I should be able to copy and use.

Hmmmm...there are all those GPS units all around the world producing GPX files....hmmmm....
OK, you convinced me. I will try to add GPX support as the next enhancement.

Meanwhile, have you tried GPSBabel to convert your GPX file to a KML file?

Also, I expect you know that the MYTopo maps are only available for the USA and Canada.


Thanks Jelf.
I have found exactly what is complementary to your tool. Look at this website and this example :
http://www.wandermap.net/route/357959
The KML file is created automatically and available at a fixed URL location, so I can use it directly with your tool (except that my example is out of the US).
I know that your tool cover US and Canada only, but I expected it a bit, you cannot cover India and Madagascar and Faroe islands and so on... each country has its mapping system, and what I am doing now is trying to make a list of all of them.
Read this forum thread:
http://www.summitpost.org/phpBB2/viewtopic.php?t=49682
and this page we've started:
http://www.summitpost.org/custom-object ... outes.html
If you feel interested, I can give you editing rights to develop the north american chapter.
Last question, can we build KML or GPX files directly from the Mytopo map ?
Eric

PostPosted: Fri Nov 27, 2009 9:23 pm
by Jelf
Eric,

Many thanks for the plug on your site.

Request: Your site links to mine (www.MappingSupport.com) but the content I have there at the moment does not say anything about my gmap4 map viewer. This weekend I plan to completely redo my site. Until then, how about linking to this thread if anyone wants info about my viewer?

I looked at wandermap. Very cool! It sounds like that site is letting people upload their GPX/KML files and is hosting those files. <edit> That's a fine approach and one that I am certain presented its own challenges to implement. I decided to use a different approach in gmap4 and let people host their files anywhere, including the google cloud. (I apologize for my original choice of words. It was not my intention to 'toot my own horn' or offend anyone.)</edit>

I have been surprised that I have not stumbled over more map viewing tools that let people view their gpx/kml files and are full screen or nearly so.

I'll take a look at the rest of your post later today.

I also urgently need to writ a help file so people can learn about my map viewing tool.

Meanwhile......here's a gpx tip:

I just remembered something that may help people that have a GPS unit that produces GPX files. You can use Google Earth to convert a GPX file to a KML file. You can then view your GPS data on 7.5” topo maps (full screen, no ads, free) by using the gmap4 map viewer.

Here’s how to use Google Earth to convert a GPX file to a KML file :

1. Open your GPX file with Google Earth. Your file can be on your local drive.
2. File ==> Save ==> Save Place as ==> Set ‘Save as type’ to KML ==> save the file

All you need to do now is place your KML file online and point to it with the gmap4 map viewer. See my earlier post for details.

Joseph

PostPosted: Mon Nov 30, 2009 8:26 pm
by visentin
Hello Jelf ! Any news about your site ?
I'm starting to write about the american maps:
http://www.summitpost.org/article/57875 ... #chapter_6
Please add somehthing if you see something missing ! I will give you editing rights
Eric

PostPosted: Tue Dec 01, 2009 6:45 pm
by Jelf
Eric,

Wow! I just looked at the link you sent. I haven't had a chance to learn anything about iframes yet. That is very cool. :D

Thank you for allowing me to edit the info you are compiling. I made a few tweaks to the North America section.

Joseph

PostPosted: Fri Dec 04, 2009 5:33 am
by Jelf
Correction to gmap4 map viewer

In an earlier post I indicated that any text in the <Document><description> element of your kml file would become a caption that gets welded to the top of your map. Oops! It was a mistake on my part to initially identify that element as the one where gmap4 would pick up text for a map caption. Instead, please use the <Document><name> element if you would like a caption on your map.

For example, this is how I coded a three line, bolded caption for the following demo map:
<Document>
<name><![CDATA[<b>Includes part of County Line<br>trail (faint). GPS tracks<br>from 2004 and 2008.</b>]]></name>

http://www.mappingsupport.com/p/gmap4.php?q=http://www.mappingsupport.com/p/kml_demo/county_line_trail_with_pic.kml&ll=47.393527,-120.779657&z=14

Gmap4 will now ignore anything in the <Document><description> element of kml files.

To read more about adding html to your kml files, and the CDATA tag, please open this link and scroll down a bit:
http://code.google.com/apis/kml/documentation/kml_tut.html

If you use map captions, then I recommend keeping your caption and <name> tags on a single line in your kml file, like so:
<name><![CDATA[Your caption here. HTML is OK]]></name>

My apologies for any inconvenience this change will cause anyone.

Making changes to your map - &refresh=1

The MASU (MAppingSUpport) server must keep a copy of your kml file in order to display your data via Google maps. If you change the content of your kml file but do not change your file name, then you need to tell gmap4 that it should re-read your file and make a new copy. You can do this by first placing your revised file online and then launching gmap4 with this additional parameter: &refresh=1
For example: http://www.mappingsupport.com/p/gmap4.php?q=http://www.mappingsupport.com/p/kml_demo/county_line_trail_with_pic.kml&ll=47.393527,-120.779657&z=14&refresh=1

After you revise your kml file, you only need to use the refresh parameter one time. Since the refresh parameter causes additional processing, it should not be routinely used. It only needs to be used 1 time after a kml file has been changed.

Google cache

Google maintains its own cache for kml files. This is different than your browser’s cache. If you make a change to your kml file then you will not see that change in gmap4 until Google decides to refresh its cache of kml files. Sorry about that but it’s out of my hands.

Testing kml files with Google Earth

Google Earth can read and display kml files from your local drive. If you change your file you can tell Google Earth to refresh itself with the revised data. This is a great tool to help you develop a kml file. The problem I described in the prior paragraph regarding the Google cache does not apply if you develop your kml files with Google Earth.

Store your kml files in the Google cloud

This feature is unique to gmap4.

In order for gmap4 to read your kml file, you must place that file online somewhere. And for those that do not have their own website - no worries - you can upload your data to the cloud as a Google document and let Google host your kml/txt file for free. However, since Google documents does not provide native support for kml files, you need to pay attention and follow these instructions:

1. Get a Google account. It’s free.
2. Change the extension on your file from kml to txt. Kml files are a type of text file.
3. Connect to Google documents and login. http://docs.google.com/
4. Spend a little time learning your way around
5. Upload your kml/txt file
6. “Share” your file for viewing by anyone
7. “Publish” your file (check one file box ==> More actions ==> Check the box to “Automatically re-publish” ==> Publish)
8. Copy and save the url you get when you “publish”.
9. Launch gmap4 to view the data in your “published” file:
(Not a real link)
http://www.mappingsupport.com/p/gmap4.p ... _code_here

Here is a link to a different version of the demo map you have already seen. This specific file is stored as a Google document. Note that it does not have any caption at the top of the map. That is because this file does not have any text in the <Document><name> element of the kml file.
http://www.mappingsupport.com/p/gmap4.php?q=google,dd3wb4rd_18dv5zkmdb

Tech note: Google adds a lot of html code to each file that is uploaded into Google documents. After reading one of these kml/txt files, gmap4 unwraps the html and converts the file back into a normal kml file which can then be read by Google maps. This feature is unique to gmap4.

Status of enhancement to support gpx files

The coding is finished and testing is underway. Here’s some insight into how this will work. Google maps understands kml files but does not understand gpx files. After I release this enhancement you will be able to launch gmap4 with the q parameter pointing to a gpx file hosted anywhere online. Gmap4 will read that file and use GPSBabel to convert it to a kml file. That conversion step will use the default settings built into GPSBabel. If those default conversion settings do not give you what you want to see on your gmap4 map, then you will need to run GPSBabel yourself and adjust the conversion settings to produce a kml file more to your liking. You can then place that kml file online somewhere and then display that data with the gmap4 map viewer.

Future enhancements

Actually before working on any more enhancements I really need to write v.1 of a ‘help’ file.

High on the list of future enhancements is the ability to click the map and build a list of coordinates. You will be able to copy those coords and save them on your local drive. Of course once the coords are on your drive you can process them with GPSBabel (or various other tools) and convert them into a gpx file or any other kind of file supported by your conversion tool. In this manner you will be able to load coords into your GPS prior to your next trip.

Bug reports

Please let me know if anything seems awry. I will try to check back here periodically but if I seem AWOL you can always email me through my website: http://www.mappingsupport.com/
Since gmap4 is under active development, it is certainly possible that in adding a new feature I will accidentally break something that previously worked fine.

Enjoy,
Joseph Elfelt

PostPosted: Fri Dec 04, 2009 10:45 am
by mvs
Josef I just want to say thanks for writing programs like this. Keep up the good work!

PostPosted: Sun Dec 06, 2009 1:13 am
by Jelf
Here’s some cheery news. The gmap4 map viewer can now read GPX files. You should see version 1.2.041 in the lower left corner of the map. If not, please clear your browser’s cache and try again.

If you do not like how your GPX data looks on the map (line width, line color, etc), then it is a simple matter for you to run GPSBabel on your own computer and tweak its options. By doing so you can produce a kml file that you can feed to gmap4 and see your data the way you want it to look.

Please do not store GPX files as a Google document. That feature only works for KML files. Some time in the future I will investigate turning this feature on for GPX files.

Please let me know if something does not work right.

PostPosted: Sun Dec 06, 2009 2:05 am
by WouterB
Thank you Jelf, seriously cool stuff you're doing here! This should get some more info on the forum!

PostPosted: Tue Dec 08, 2009 3:12 pm
by Jelf
I just finished testing the latest update to gmap4 and it is now ‘live’.

Recall that:
1. Gmap4 can read both GPX and KML files.
2. You have to place your file online before gmap4 can read it.

New feature:
Gmap4 can now read GPX/txt files that Google is hosting online (for free) as Google documents.

The previous version of gmap4 could read KML/txt files that were online as Google documents.
You should now see version 1.2.074 in the lower left corner. If not, please clear your browser cache and try again.

Since you have to place your data online in order to view it with gmap4, why not let Google host your files for free?

Here are improved instructions for placing your KML and GPX files online as Google documents.

1. Get a Google account. It’s free.

2. Change the extension on your file so it ends in txt.
Change: my_hike.gpx to my_hike.txt

3. Connect to Google documents and login. http://docs.google.com/

4. Click the “upload” button and upload the “txt” file.

5. Go back to the file screen and select this new file by checking its box.

6. Click Share ==> See who has access.

7. In the lower left corner of the popup make sure it says “People can view this item without signing in.” If necessary change the setting so this message appears.

TIP: Create a folder and “share” it for viewing by anybody. Then any file you upload into that folder will automatically have the correct “share” setting.

WARNING: One of the options under the “Share” button says “Get the link to share...”
Don’t go there. Gmap4 does not use any info from that link.

8. With the box in front of your new file still checked, click: More actions ==> Publish

9. Check the box that says “Automatically re-publish when changes are made”. You will be asked if you want to publish your file. Agree.

10. Soon after you agree, Google will display a message similar to this:
“Your document is publicly viewable at: http://docs.google.com/View?id=dd3wb4rd_27ccdx2cfr
Of course the id code for your file will be different.
Copy the id code for your file.

You are now ready to launch gmap4 and view the data in your KML or GPX file.

Enter the following into your browser bar but replace the xxxxxxxx with your file id code.
http://www.mappingsupport.com/p/gmap4.p ... e,xxxxxxxx

You can include this link in emails, websites, trip reports, etc

Here is an example of the correct way to launch gmap4 when your data file is hosted online as a Google document:
http://www.mappingsupport.com/p/gmap4.php?q=google,dd3wb4rd_18dv5zkmdb

My next task is to finish writing a ‘help’ file so there is decent documentation for gmap4.

Enjoy
Joseph

PostPosted: Sun Dec 13, 2009 2:04 am
by Jelf
The Gmap4 map viewer now has a detailed help file. http://www.mappingsupport.com/p/gmap4_help.pdf
Please take a look at the Quick Start section to get an idea of the kinds of things Gmap4 can help you do.

The topographic maps available via Gmap4 cover the USA at 1:24,000 (same as 7.5? quad) and Canada at 1:50,000. Below is a link to a map of the USA-Canada. Just zoom in on something that you want to see and when you find it then click the MyTopo button in order to see a detailed topographic map for that spot:
http://www.mappingsupport.com/p/gmap4.php?ll=36.385913,-95.185547&z=4&t=m

You can look at anything if you know the latitude/longitude.
Mt. Rushmore:
http://www.mappingsupport.com/p/gmap4.php?ll=43.877015,-103.45087

Yellowstone - Old Faithful:
http://www.mappingsupport.com/p/gmap4.php?ll=44.461721,-110.832396&z=14

What - You mean you don’t know the latitude/longitude for Pocket Lake, in the Eagle Cap Wilderness of Oregon? (A very neat spot BTW) Not a problem. Search using POGM (Plain Old Google Maps). When you find that which you seek:
Point to it ==> Right click ==> What’s Here? ==> Copy the latitude/longitude from the map search window. Then paste that latitude/longitude onto the end of a command to launch gmap4:
http://www.mappingsupport.com/p/gmap4.php?ll=45.174716,-117.274332

These topos are from the MyTopo (http://www.mytopo.com/) company. They scan the paper topographic maps and make their money by selling custom topo maps that you design. While there are not many websites (yet) displaying topographic maps from MyTopo, there are numerous sites that display topographic maps from Terraserver. If you are curious, here is how you can compare the onscreen quality:

1. Make your browser full screen.

2. In one browser tab, display the MyTopo Yellowstone - Old Faithful map from the above link.

3. Open another browser tab and go to http://mapper.acme.com/.

4. Enter these coords 45.174716,-117.274332 in the ACME search window and click Find.

5. Adjust the ACME zoom control so the tab is on the 4th crossbar from the top.

6. Click the ACME ‘Topo’ button to display the Terraserver maps.

The MyTopo and Terraserver maps should now have the same center and be the same scale. You can flip back and forth between your two browser tabs and compare the quality.