blankblank blank


Archive for October, 2007 Page 2 of 3



Additional Color Applications For Maps And Design

Here’s a few additional color applications that might prove a useful complement to the application Kuler (from yesterday’s post) in designing map color schemes.

An online color application: Name That Color. Select a color from the color wheel, and Name That Color will … name that color. Also gives you the RGB and hex numbers for it.

snapper1188961707734_thumb1

Open source; Javascript and php code available at the website.

Via Download Squad.

Color Cop: A Window desktop application that lets you:

  • Determine the color code for a color anywhere on your desktop
  • Single-pixel sampling, or 3×3 and 5×5 averaging
  • Automatically generates a 42-color palette of complementary colors for your select color
  • And more …

Via Lifehacker.

Colorzilla: A Firefox extension that shows the color codes (RBG and hex) for the point under the cursor in the Firefox browser.

Via Lifehacker.

KML Color Converter: Mix and match R, G, B and black, set transparency, and get back the KML color code; gives other color codes as well (like RGB, CMY, CMYK, HSL). Also has a color picker to select colors from anywhere on-screen.

10-4-2007-9.38.32 PM

 

 

Color Palette Generator, Color Hunter: Online apps that create a color palette based on those found in a graphic or image file. You enter the URL of the image, and get back a palette with the colors in that image.




Creating Map Color Schemes With Kuler And ColorBrewer

A while back, I posted about ColorBrewer, an online map-oriented tool for experimenting with different map coloring schemes. It’s a great tool, but with a limited number of color palettes to choose from, and no capability to modify them or create your own. Kuler is an online color palette creator from Adobe (Flash, multi-platform; free registration required) that lets you create and view your own color palette, or browse and modify palettes created by others. There’s a ranking system that lets you give a rating (1-5 stars) for palettes, and you can browse by popular (most downloads) or highest star ratings.

kuler

If your graphics application supports Adobe Swatch Exchange files (*.ase), you can download a swatch file from the application. If not, you’ll have to write down the color specs down (HSV, CMYK, RGB, LAB or HEX) from the settings in the Create window for your new palette. For an existing palette, click on the “Make changes …” button at middle right:

Kuler screenshot

If you want to enter ColorBrewer palettes into Kuler for experimentation and modification, you can download an Excel file with RGB values from the ColorBrewer updates page.




Beta Version Of DNRGarmin

One of the first posts on this blog was about the 5.1.1 stable version of DNRGarmin. Long story short, if you work with GIS and you use Garmin units for your data acquisition, this program is a must-have. It can upload/download data in text, DBF and shapefile formats to/from Garmin GPS units, and also comes with an extension for direct interfacing with ArcGIS software. Version 5.1.1 had some utility for non-Garmin GPS units and applications, but version 5.2, currently in beta, has some new features that make it a worthwhile installation for anyone with a GPS.

DNRGarmin has actually been in beta for a while, and I’d been waiting to see if it would come out of beta; the date on the last release is 5/18/07. The webpage indicates in big bold letters that in the beta, “THE ERROR RELATED TO USB CONNECTIVITY AND LOGIN RIGHTS HAS NOT YET BEEN RESOLVED“. But I’ve installed it successfully on 3 different computers without encountering this problem, so there’s a decent chance it should work on yours as well.

New features in version 5.2 include:

  • Load data in KML and GPX (in addition to the previous options of text, DBF and shapefile formats)
  • Load data directly from the “My Place” pane in Google Earth
  • Save data in KML and GPX (along with the previous options of projected/unprojected shapefiles, text and DBF)
  • Convert between the different formats
  • Collects waypoint time data from supported units

Note: The new version’s ArcGIS extension no longer works with ArcGIS 8.x, only 9.x. If that’s important to you, you should stick with version 8.1.1, still available on the web page. But the new version works fine in stand-alone mode.




Maps Of War

The Maps Of War site has animated embeddable Flash maps illustrating historical trends, like this one showing the history of the Middle East over the past 5000 years:

And the Library page has a growing collection of links to other animated history maps from across the web.

Via BoingBoing.




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’




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.