blankblank blank


Archive for October, 2007 Page 3 of 4



Another TIFF Worldfile/Metadata Program

An email pointed me towards two more programs for extracting and embedding worldfile data from TIF files: the listgeo and geotifcp utilities, part of the libgeotiff files available from the maptools.org site. Both of these are command-line utilities available for Windows and Unix, but there’s a GUI available for Windows called listgeo_GUI that is somewhat easier to work with. The GUI installation package also includes the listgeo and geotifcp files, so that you don’t have to download them separately. These utilities can not only extract and embed the basic worldfile data, but can also extract and embed a full set of coordinate metadata for a GeoTiff file; this includes not only the coordinate georeferencing data but also additional information like the coordinate system and datum.

Continue reading ‘Another TIFF Worldfile/Metadata Program’



Maximize Google Maps With Google Maps Max

Google Maps Max is a Greasemonkey script (Firefox browser only) that lets you turn off the top menu bar, and view Google Maps in full-screen mode. Press the F11 key to re-size the view in your browser to true full-screen, F11 again to get back to regular view. If you click on the small arrow on the right edge of the directions sidebar, you can shrink that down as well, and have Google Maps fill up the entire screen; click on the arrow again to get the sidebar back.

Via Lifehacker.



Using The KML Time Embedder, Concluded

Continuing on from the last post about the KML Time Embedder (download just the executable here, or the full install here), a utility to embed time data into a KML file:

fullscreen

Correct for local time zone: The default time zone for Google Earth times is UTC (aka Greenwich Mean Time), so a day runs from 00:00 to 23:59 UTC; you can set the time for your local time zone, but you have to know where to go in the time options to do this. For longer periods of time, the offset between local time and UTC might not make a difference. But if the time period is short, and the exact start and end of the day need to occur for the data’s local time zone, then check this box, and select the offset from UTC from the dropdown; this specifies the timezone for which the data is valid:

timezone

Embed Time Information: Once you’ve set the input and output filenames, this control is enabled, but you’ll get an error message if you haven’t set a beginning or end time for TimeSpan, or a single time for TimeStamp. If you have, then the time data will be embedded after the first feature tag found in the file. Feature tags are:

  • <Folder>
  • <Document>
  • <Placemark>
  • <GroundOverlay>
  • <ScreenOverlay>
  • <PhotoOverlay>
  • <NetworkLink>

You’ll get a message window when the file is created, but that’s no guarantee that it’s valid.

Reset All: Resets everything.

Reset Dates: Leaves the filenames and UTC checkbox alone, but resets all the date settings.

Help: Opens the first post about this utility on this website (the poor man’s help file)

Exit: Quits the program.

Despite all the caveats I’ve given, the alpha testers have yet to report a serious problem with this utility in its current form, so hopefully you shouldn’t have any major problems. If you do find any bugs, drop me a line with the specifics, and the problem KML file if possible, and I’ll try to fix it. The usual disclaimers: use at your own risk, not responsible for any damage, etc.. Given that it doesn’t re-write the original file under any circumstance, and only writes text files to your hard drive, the worst thing it could probably do is not work.

This program is useful not just for assigning specific times to KML features, but also generic times that let you create animations, like animated GIFs, or showing the effects of a rising sea level on Manhattan, where the KML features are associated with a time only to create an animated effect.

Other free utilities can be found on the Utilities page. If you find this or any of my other utilities particularly useful and would like to show your appreciation, donations of any amount are gratefully accepted via PayPal.



Using The KML Time Embedder To Stamp Time Data Into A Google Earth File

Since Google Earth currently doesn’t let you add time data to a KML file, you have to use an alternate approach like manually editing the KML file, or using one of several different spreadsheet-oriented methods. I’ve put together a third option, a “simple” Windows utility called “KML Time Embedder” that will let you specify the time information in a GUI, and embed it automatically into a KML file. There are a few limitations on its use:

1. KML files only, not KMZ (but if you have a KMZ file, you can open it in Google Earth and then save it as a KML file)

2. Only simple unstyled feature tags will work, e.g. <Document> will work while the valid <Document id=”Yourstyle”> won’t; if this turns out to be a problem for a lot of people, I might fix it. But then again, if you’re adding style IDs to KML, you’re probably wouldn’t use this utility anyway.

3. Only the first feature tag will have time data embedded after it; if this is a problem, you can always save individual KML files for every separate feature using Google Earth. Feature tags are:

  • <Folder>
  • <Document>
  • <Placemark>
  • <GroundOverlay>
  • <ScreenOverlay>
  • <PhotoOverlay>
  • <NetworkLink>

4. If a document already has time data embedded in it, it will be rejected.

5. There is some error-checking, but I suspect it’s not complete, so I’ve added a “verify” function that lets you manually inspect the time information before embedding it into the file.

6. This version only embeds date time, not hour/minute/second time; if enough people ask, I might add that capability. Done! Visit this post for the details.

I’ve posted two zip files with the program. The first one is just the executable (21 kB zipped) and requires some VB6 files that are probably already installed on your computer (especially if you’re running Windows XP SP2). If it doesn’t work, or if you want the full bells-and-whistles installation with a Start Menu item, try the full install package (2 MB zipped).

When the program runs, you’ll get the following extra-fancy interface:

fullscreen

The functions are:

Open Input KML File: Selects the KML file you want to embed time data into. If it finds time data already present, it will reject the file (see #4 above). If it can’t find an acceptable “feature” tag, it gets rejected as well (see #2 above).

Enter Output KML File: Select the name of the output file. It will check to make sure you’re not specifying the input filename as the output file, and also prompt you if you select an existing filename to make sure you want to overwrite it.

Auto Output File: After you’ve enter the time data, pressing this button will create an output filename by appending the time data to the end of the input filename.

KML Time Info Mode: Specifies the type of time data to be embedded.

- TimeSpan is for data that is associated with a starting and ending time. If the time runs from a start time to the present, just leave the end TimeSpan blank.

- TimeStamp is for data associated with a single specific time; selecting this disables the “end TimeSpan” input.

Enter beginning/end of TimeSpan, or TimeStamp data: After you select the input file, you can enter the beginning time and/or end time if appropriate, or just a TimeStamp (in TimeStamp mode, only one set of input boxes will be visible). Type the year directly into the box, and use negative numbers for BC. The program will check for valid numbers, and will reject the year 0 as invalid (because it *is* invalid; there is no year zero in the Western BC/AD year system). If you want the TimeSpan to run from a time in the past to the indefinite present, or are doing a TimeStamp, just leave the end TimeSpan section blank. Conversely, if you want the TimeSpan to run from the indefinite past and end at a specific date, leave the beginning TimeSpan section blank.

Verify Dates: Once you’ve entered your beginning date (and end date if desired), clicking on Verify Dates will display the time data at the bottom, and do a basic check to make sure that the beginning date is before the end date. If you specify month or day for one time, but not the other, that will be brought to your attention; while it’s probably best to make sure that both dates have the same sets of data entered (year-month-day), it doesn’t appear to be mandatory in KML. There are probably bugs in my validation routines, so you should make sure the dates are correct; if you find a case where the program says the dates are valid, and they’re not, please let me know.

Concluded tomorrow ….

Other free utilities can be found on the Utilities page. If you find this or any of my other utilities particularly useful and would like to show your appreciation, donations of any amount are gratefully accepted via PayPal.



Putting Time Data Into A KML File

Last year, Google added the capability to embed time data into a KML file, allowing you to create animated time-based data displays and animations (like the examples on this blog on sea level rise animation, or converting animated GIF files into Google Earth animated images). Oddly enough, almost a year later you still can’t add time data to a KML file in Google Earth itself, but have to add it manually using a text editor, or in some limited ways when creating the file. But it’s not a particularly-complicated process, involving adding a few lines of KML code after Feature element tags; examples of Features are:

  • <Folder>
  • <Document>
  • <Placemark>
  • <GroundOverlay>
  • <ScreenOverlay>
  • <PhotoOverlay>
  • <NetworkLink>

The two time-related KML elements are TimeSpan and TimeStamp.

TimeSpan: For a set of data that encompasses a specific interval between two times, you would use the <TimeSpan> KML tag. For example, for a period spanning from August 1, 2000 to September 1, 2003, associating the time data with a <Document> tag would look like this:

<Document>

<TimeSpan>

<begin>2000-08-01</begin>

<end>2003-09-01></end>

</TimeSpan>

The rest of your Document data, followed by the </Document> tag to close it …

For a time period running from a specific start time to the present, you’d just need the <begin>…</begin> part, and leave out the <end>…</end> section; similarly, for a time period running from the indefinite past to a specific time, keep the <end>…</end> section and leave out the <begin>…</begin>.

TimeStamp: For a set of data associated with a specific time, you would use the <TimeStamp> KML tag. If the data in your KML folder is valid for June 6, 1944 at 6 AM:

<Folder>

<TimeStamp>

<when>1944-06-06T06:00:00></when>

</TimeStamp>

The rest of your Folder data, followed by the </Folder> tag to close it …

All of the details for these two time-related KML tags can be found at Google’s KML 2.2 Reference Page, including the proper formatting for date, time, and timezones.

Time data is easy enough to add to a KML file, I suppose, but it would be nice to be able to assign them to a feature directly in Google Earth, for those who don’t want to deal with editing KML files. I suspect that will be added to Google Earth sometime in the future, especially now that ArcGIS Explorer has come out with superior time-handling features, but until then I’ve created another option. In upcoming posts, I’ll describe a simple utility I’ve written that lets you add time data to a Google Earth KML file without having to know any KML.



Convert TIGER Polygons To KML Files

Bruce Ralston, author of the free TIGER to shapefile conversion utility tgr2shp, has a new program called tgr2kml that converts US Census TIGER file polygons (but not points or lines) into KML files. It works on TIGER files from 1994 to 2006 Second Edition (future TIGER data will be issued directly in shapefile and web formats).

First select the TIGER files you want to process (they can be in zipped format):

Continue reading ‘Convert TIGER Polygons To KML Files’



Demographic Data For Your Zipcode

Enter a zip code, and ZIPSkinny gives you a summary of census data for that zipcode, including:

  • Education
  • Marital Status
  • Economic Indicators
  • Demographics
  • A comparison with neighboring zipcodes
  • The location of that zipcode in Google Maps
  • The top 100 zip codes for selectable categories
  • The ability to enter and compare data from up to 20 zip codes

Via Explananda.



Google Maps Mapplets From Zonums Software

Zonums Software has just released several Google Maps mapplets; click on a link to add it to your Google Maps MyMaps applets list:

UTMFlyer: Enter a UTM coordinate, and Google Maps will display that location. Zonums also has a Google Earth equivalent function, also called UTMFlyer.

Pointer: Click on a Google Maps point, and get the coordinates in latitude/longitude or UTM.

Digitizer: Click on points in the map window, and create a list of their coordinates (UTM or lat/long) for export to another application.

The last two functions are also available at Zonums in the stand-alone Google Maps app Digipoint 2, which offers additional features like data export in multiple formats (KML, GPX, shapefile, etc.).