blankblank blank


Archive for November, 2007

Quick Data Gridding With QuikGrid

If you have a set of data points randomly distributed in space, and want to create a basic grid of evenly-spaced set of data points derived from this data (nothing fancy, like curve fitting or Kriging), QuikGrid is blazingly fast at this task. For example, here’s a evenly-spaced set of 625 elevation points (25 x 25) downloaded using the Zonums Terrain app, loaded into QuikGrid and displayed as a set of contours, and coloring representing different heights:

evengrid

For the same area, I also downloaded a set of 625 randomly-selected points, which QuikGrid can automatically grid, contour, and display in a similar fashion, essentially instantaneously:

randomgrid

In some areas, the spacing between random points is too great for QuikGrid’s default distance cutoff tolerance, and it fills in those blanks with data values of zero. But by adjusting the tolerance, it’s possible to fill in some of those gaps:

randomgridplus

Some gaps on the edges, where it has trouble filling in the remaining gaps. Comparing this contour image to the evenly-gridded surface at the top, there are some differences, especially in locations where values changes rapidly. But for a basic approximation, it’s not bad, and offers a quick-and-dirty alternative to more complicated gridding processes.

QuikGrid can also visualize grids in 3-dimensions as well:

3dgrid

Import formats supported by QuikGrid include data triplets with a variety of acceptable inputs for position, including variations on lat/long in degrees/minutes/seconds. If you have decimal lat/long, use the “Input metric data points” option, but be aware that the y-value will be longitude, and the x-value latitude, as in the examples above. It also accepts data point input in DXF and Submetrix format, as well as grid input in ER Mapper Raster, USGS 1-degree DEMs (aka 1:250K DEMs) and QuikGrid’s own grid format. Generated grids can be saved as xyz triplets, Surfer, QuikGrid and ER Mapper formats; you can also export contours and grids in DXF format, and grid surfaces in VRML. There are many other features, including a scripting language, and various display and labeling options.

The helpfile is comprehensive, and well-done, and includes instructions on running the program in Linux under the Wine emulator. The C++ source code is also available, released under the Gnu GPL.




Tabular Terrain Elevation Data

The Zonums Terrain web app lets you define a terrain area, either by coordinates or extent in a Google Maps interface, and then downloads elevation data for that area in tabular format. The points for which elevation is given can be either randomly distributed, or evenly spaced in a cartesian grid. Select the area using the web app form:

terrainapp

With a random distribution, you only have to enter the total number of points; for a grid, enter rows and columns and the program spaces the points evenly. You can enter the limits of the area numerically in the Extent boxes; the app will check to make sure that min is < max (remember that for western longitudes, further west is more negative, which is the lower value). You can also zoom into an area in the Google Maps interface, click on “Take Extent From Map”, and have the extent coordinates filled in automatically based on the displayed area. When you’re done, click on Continue, then click on the “Click here to Start” button that pops up on the Google Maps interface. The points will be generated and plotted one at a time in a Google Maps interface. This may take a while depending on how many points there are, roughly two points per second. Once all the points are plotted…

terrainpoints

… select the separator/delimiter for the tabular data, and the units for elevation, and click “Create Report”. The app will open a new window with the latitude/longitude/elevation data in tabular format, which will have to be copied into another application like a text editor if you want to save it. From there, you can convert it to other formats; for example, if you use a comma as the separator, and save it as a CSV file, you can use a program like MapWindow to convert it to a point shapefile.

The true spatial resolution of the dataset you download will obviously depend on the number of points you select, the area chosen, and the fundamental spatial resolution of the data source. The app gets elevation data from the USGS seamless dataset, and automatically uses the best data available for a specific location. For most of the world, that will usually be the SRTM 90-meter data; for the US, that will usually be NED, with best resolution ranging from 30 meters to as good as 3 meters in some locations. Click on the About button at the top of the App, and then on the “Elevations source” link to get the following table showing the areal bounds for various levels of spatial resolution of the elevation data:

Data Source Extent (West,South, East, North) SRTM Contiguous South America 90-meter (3 arc_second) elevation data -93.0000000022799,-55.9999999977599 to -32.0000000047199,14.9999999993999
SRTM Contiguous North America 90-meter (3 arc_second) elevation data -180.000000005944,10.0000000008001 to 179.999999979387,60.9999999987549
SRTM.C_1TO19_3 -180.000000012589,42.0000000054 to 179.99999997275,60.00000000468
SRTM.C_20TO43_3 -179.000000007803,12.0000000044402 to 169.999999977999,42.0000000032401
SRTM.C_SA_3 -180.000000007038,-55.9999999942731 to 11.99999998515,30.00000000228
SRTM.C_AUS_3 -38.9999999991601,-55.9999999964333 to 179.999999992079,14.0000000007598
SRTM Contiguous U. S. 30-meter (1 arc_second) elevation data -180.0000000144,-15.0000000012 to -64.000000005144,61.00000000488
Tampa Bay Topobathy Meters -82.8750000000039,27.3749999992218 to -82.3750000000017,28.1249999992111
Delaware Bay Topobathy Meters -75.4966666666296,38.7527777768336 to -74.858611111023,39.4458333324399
California Topobathy Meters -124.979166666747,34.9169444435586 to -120.599722222299,38.9499999990807
Puget Sound Topobathy Meters -124.979166666747,34.9169444435586 to -120.599722222299,38.9499999990807
Afghanistan Digital Elevation Model -123.16037037040032,47.043796296291 to -122.1996296295827,48.168055555640194
NED Alaska 2 arc second (15 minute) elevation data -180.00333333334379,50.996666666667622 to -129.99666666663225,72.00333333335108
NED Contiguous U. S. 1 arc second elevation data -125,23.9999999973783 to -65.9983333286253,49.9999999992314
NED Hawaii 1 arc-second elevation data -161.0016666667,17.9983333327742 to -153.998333333366,23.0016666659869
NED Puerto Rico 1 arc-second elevation data -68.0016666666668,16.9983333328051 to -63.9983333330132,19.0016666662453
NED US territories 1 arc-second elevation data (Islands with east longitude) 133.9994444444,4.99944444427556 to 164.000555555645,16.0005555550985
NED US territories 1 arc-second elevation data (Islands with west longitude) -171.000555555605,-15.0005555550877 to -168.999444444485,-13.999444444001
NED Contiguous U. S. 1/3E arc second elevation data -99.00055555556,24.9994444436157 to -65.9994444443037,49.0005555546217
NED Contiguous U. S. 1/3W arc second elevation data -125.00055555557,25.9994444419356 to -98.9994444424024,49.000555554697
NED Hawaii 1/3rd arc-second elevation data -161.00055555563,17.9994444438804 to -153.999444444485,23.0005555548894
NED US territories 1/3rd arc-second elevation data (Islands with east longitude) 133.9994444444,4.99944444427556 to 164.000555555645,16.0005555550985
NED US territories 1/3rd arc-second elevation data (Islands with west longitude) -171.000555555605,-15.0005555550877 to -168.999444444485,-13.999444444001
NED Mount Saint Helens 1/9th arc-second elevation data -123.01299382719976,46.125000000000036 to -121.98700617287425,46.400000000001157
NED Puget Sound 1/9th arc-second elevation data -125.010000000012,46.4899999990561 to -121.489999999997,48.5099999990705
NED Harris City 1/9th arc-second elevation data -95.999999999999957,29.470000000000034 to -94.874999999995126,30.220000000003267
NED Lincoln, NE 1/9th arc-second elevation data -96.886929999156592,40.617497603779 to -96.4858805843566,41.007559363379
NED West Virginia 1/9th arc-second elevation data -83.000185185189991,36.999802029771907 to -79.999820566814307,38.500185185192592



Virtual Version Of The Field Museum's Map Exhibit

As part of the Chicago Festival of Maps, the Field Museum has exhibits under the title, “Maps: Finding Our Way In The World”. If you can’t make it in person, you can still get a taste of what’s on display at the Field Museum’s website, with two interactive “virtual” exhibits.

Via The Map Room.




Altitudes And Terrain Profiles In Google Maps

As a demonstration of their altitude information service, the Topocoding API website has a Google Maps demo. Click on a location on Google Maps, and get a placemark with altitude information for that point:

altitude

Click multiple points to get a path, and you can then generate a terrain profile for that path:

profile

It uses a combination of SRTM-90 data (roughly 90-meter resolution), and GTOPO30 (1-kilometer resolution) where other data is missing. All continents except Antarctica are included.

They’ve also created an XML Google MyMaps tool that you can add to your collection of MyMaps mapping functions; click on this link, and then click on the appropriate button to add it to your MyMaps collection.




Mapping Zip And Area Code Boundaries, And More

The USNaviguide website has an assortment of Google-Maps-based services for mapping the boundaries of various geographic parameters:

Zip Code: Enter a 5-digit zip code, or the first three digits of a zip code, and get a map of the area covered by that zip code. Or click on the map, and get a map of the all the zip codes in that area, with a placemark at the location you clicked on with the zip code for that area in the info bubble:

clickzips

City/town boundaries: Enter a zip code, or click on the map, and get the boundary of the city/town jurisdiction for that area where appropriate:

phoenix

County/FIPSCSA: Enter a zipcode, or click on a spot, and get a map similar to the one above for either a county or a FIPS (Federal Information Processing Standard) Core-Based Statistical Area, with a placemark near the center of the polygon with the relevant information, including code numbers.

There is also a US geocoders (get a latitude/longitude for an address), and a reverse geocoder (enter the lat/long or click on an address, and get back the closest addresses to a point).

The related Maps.Huge.Info site has links to most of the above services, but also a few more as well:

  • US telephone area code maps
  • Plotting zip codes by line boundary instead of overlay map (as at the top)
  • Australian post codes
  • A zip+4-based reverse geocoder

Finally, there’s a page of the free PERL code they use for converting a polygon of points into a Google Maps polygon.

Via GoogleMapsMania.




Historical Census Data From the National Historical Geographic Information System

The National Historical Geographic Information System (NHGIS; free registration required for access) offers historical census data from the first census (1790) to the most recent. The types and extent of the data depend on the census year, with more data typically available from more recent census years. Data can be accessed for the entire country, by state, county, census tract, or other divisions where available, and can be downloaded in a number of different spreadsheet and GIS-compatible formats. The site also has shapefiles for the states/territories, counties, and census tracts appropriate for each census year. Online mapping of, and access to, some of the data from 1940 on is available for free at the Social Explorer website; Social Explorer offers full access to much more data and online maps as a paid service.




More Online Historic Maps

A short followup to my earlier posts on large-format downloadable historic maps and online historic map collections:

American Geographical Society Library Digital Map Collection: Based at the University of Wisconsin – Milwaukee, the collection currently holds 200 online maps, with more on the way. Strongest in maps of Wisconsin and the surrounding area, but has an assortment of maps for other locations as well. No download links for maps.

Hat tip to Nina Frantzen in the comments.

The Boston Public Library’s Norman Leventhal Map Center has strong holdings in maps of Boston, Colonial New England and the American Revolution, but also collections of some of the earliest printed maps, and European/Dutch maps from the Age of Discovery.

1777  Boston map
Detail from map of Boston (1777)

Via GeoCarta Blog.

 

 

Historic Cities: Historic maps of cities from the Hebrew University of Jerusalem and the Jewish National University Library; catalogued by city and country. Also links to city maps at other websites.

 

 

Broer Map Library: Historic and modern maps from around the world in a Zoomify interface. Also includes links to historic maps in Google Earth KMZ format.

 




Tiling And Printing Large Maps To Scale On A Small Printer

A previous post dealt with printing maps larger than a printer’s biggest paper size (Printing Large Maps On A Small Printer). The solution was to split the map image into smaller tiles to be printed separately, to be cut and taped together to form a larger whole. But what if you want to print such a larger map at a specific scale, like 1:24,000? Tiling and printing a map to scale using the options described in that post would be a major pain – you’d have to calculate the correct image size, and then resize the pixel dimensions of the image to get it to print that size. You might even have to add additional blank space to the map edges to get everything to work out.

The program MicroDEM has the ability to automatically tile and size a map image to a specified map scale and paper size, and then print it out on multiple pages for you. Open a georeferenced image in MicroDEM (like a GeoTiff, or a standard graphic format with a world file), and then zoom the image using the 1:1 toolbar button at the top of the map window:

zoom1to1

If you don’t zoom to the full 1:1 pixel dimensions, the image will be printed at the original screen scale, which will make the printed version highly pixelated. Next, click on the Print toolbar button:

print

and select “Print preview & print to scale” from the drop-down menu. You’ll get a window like the following:

PrintPreview1

In the upper right-hand corner, the current map scale setting is shown, along with the number of sheets of paper that will be required to print the map at the current paper size setting, and the map size in inches printed at the specified scale. At the left, the map image will be displayed as it will be printed on the sheets of paper represented by the rectangles outlined in red.

To change the scale, click on the button that displays the scale, and enter the desired number. To change the paper size or printer settings, click on “Printer setup” and make the desired adjustments. In particular, try experimenting with portrait vs. landscape orientation to see if you can fit a map on fewer sheets of paper.

So if I change the scale of the original map above to 1:24,000, and set the paper size to 11″ x 17″, the window will now look like this:

printpreview2

Click on the “Print to scale” button, and MicroDEM will slice up the map and print it on the specified number of sheets. It can take a while (scratch that, it can take a loooong while) to process the data and print it out, especially for large images; a fast processor and a large amount of memory will help with that. The options described in the post Printing Large Maps On A Small Printer might not be able to print to scale easily, but they do print the tiles a lot faster than MicroDEM does. When the tiles have been printed, cut the blank edges off the appropriate ends of the tiled map pages, then tape them together to create the full map print. Since there’s no image overlap, you’ll have to be careful when trimming them not to remove parts of the printed image, otherwise they won’t fit together exactly.

You can also use this approach along with PDFCreator to generate PDF files of scaled map prints, to be sent to a computer or print service capable of handling larger paper sizes directly.