<?xml version="1.0" encoding="utf-8"?>
<!-- name="generator" content="pyblosxom/1.5.4.dev" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
<channel>
<title>Russ Nelson's blog</title>
<link>http://blog.russnelson.com</link>
<description>rants and raves</description>
<language>en</language>
<item>
  <title>World Wind and shapefiles</title>
  <link>http://blog.russnelson.com/gis/ww-and-shapefiles.html</link>
  <description>

&lt;p&gt;How should NASA&#x27;s &lt;a href=&quot;http:&#x2F;&#x2F;worldwindcentral.com&#x2F;&quot;&gt;World
Wind&lt;&#x2F;a&gt; handle the introduction of a shapefile layer?  Well, I can
think of two reasonable ways to do this.

&lt;ol&gt;

&lt;li&gt;somewhere there exists a .zip file containing the three component
files of the shapefile.  A third party has written an XML which
describes how they want that shapefile drawn (e.g. with and without
labels).  Their XML file specifies the URL of the shapefile.&lt;&#x2F;li&gt;

&lt;li&gt;somebody wants to publish a shapefile directly usable by WW.  They
create the .zip with the three shapefile files, and add to it the .xml
needed by WW.&lt;&#x2F;li.&gt;&lt;&#x2F;p&gt;

&lt;p&gt;I can think of only one benefit to #2: you don&#x27;t have to deal with
telling your webserver that a .xml file is an XML file rather than
some kind of mutant HTML.  A big advantage of #1 is that anybody can
describe anybody else&#x27;s file for use in WW, *and* they don&#x27;t have to
host that shapefile.&lt;&#x2F;p&gt;

&lt;p&gt;We could support both formats, of course.  If you tell WW to use a
shapefile, WW could look at the filetype &#x2F; extension.  If it&#x27;s XML,
then the XML specifies the shapefile with a URL.  If it&#x27;s .zip, then
the .zip contains the XML file.&lt;&#x2F;p&gt;

&lt;p&gt;Now, the second question is how to handle versions.  Is there any
reason to keep permanently a shapefile given that WW doesn&#x27;t
permanently keep any imagery data?  Basically, WW is an online data
viewer and only caches imagery data.  Why should it save a shapefile?
Thus, whenever you turn on a shapefile, WW should re-fetch the
shapefile (checking the HEAD just as a web browser does).  If somebody
*really* wants to display local data, they can specify file:&#x2F;&#x2F; as the
URL.&lt;&#x2F;p&gt;



</description>
</item>

<item>
  <title>LatLonUTMconversion</title>
  <link>http://blog.russnelson.com/gis/lat-lon-utm.html</link>
  <description>

&lt;p&gt;I&#x27;ve been doing a lot of work lately on mapping.  If you go look at
the &lt;a href=&quot;http:&#x2F;&#x2F;blog.russnelson.com&#x2F;bicycling&#x2F;&quot;&gt;bicycling&lt;&#x2F;a&gt; category, you&#x27;ll see some of it.
I need to improve the programs that make those maps, but once I&#x27;m satisfied
with them I&#x27;ll publish them here.  Most generally I want to do GIS-style
analysis of maps, only without using a GIS package.  The most capable
open source GIS package is GRASS, but it has an incredibly steep
learning curve.  I&#x27;ve tried to learn to use it twice now, and can&#x27;t
get up the slope.  It&#x27;s easier to write my own software than to learn
to use GRASS.  So that&#x27;s what I&#x27;m doing, and you&#x27;ll find all of my
Python GIS software at &lt;a href=&quot;http:&#x2F;&#x2F;pygps.org&#x2F;&quot;&gt;pygps&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;

&lt;p&gt;In particular, today I&#x27;m releasing the LatLonUTMconversation library.
It converts (predictably enough) between latitude and longitude and
UTM coordinates.  A GPS receiver will give you lat&#x2F;lon, but UTM
(Universal Transverse Mercator) coordinates are more useful.  For one,
you can compute distances using them, since each integer UTM tick is one
meter.  For another, you can locate a point on a map by simple subtraction
and division by the scale of the map.&lt;&#x2F;p&gt;


</description>
</item>

<item>
  <title>Color Ortho Quads in NY</title>
  <link>http://blog.russnelson.com/gis/ny-color-quads.html</link>
  <description>

&lt;p&gt;I recently found out that (somebody) created color orthographic
quads of New York State.  Look for &lt;a href=&quot;ftp:&#x2F;&#x2F;www.nysgis.state.ny.us&#x2F;pub&#x2F;nysdop1&quot;&gt;your county&lt;&#x2F;a&gt; on the
&lt;a href=&quot;http:&#x2F;&#x2F;www.nysgis.state.ny.us&#x2F;&quot;&gt;NYS GIS&lt;&#x2F;a&gt; site.  Naturally,
instead of publishing them in a lossless open format, they&#x27;re
published in the proprietary MrSID format.  This is a wavelet form of
compression similar to JPEG2000.  There&#x27;s a decoder called mrsiddecode
which creates .tiff or .jpg files as you wish.&lt;&#x2F;p&gt;

&lt;p&gt;I&#x27;m in St. Lawrence County (below left).  They have complete
coverage for 60&lt;abbr title=&quot;centimeters per pixel&quot;&gt;cmpp&lt;&#x2F;abbr&gt;
colorized infrared (cir) quads (below middle).  Unfortunately, they
only have partial coverage for 30cmpp color quads (below right).  For
St. Lawrence County, they only cover Potsdam, Canton, Massena and
Ogdensburgh.  A friend of mine, Simon St.Laurent, is another map geek.
He &lt;a href=&quot;http:&#x2F;&#x2F;livingindryden.org&#x2F;&quot;&gt;lives in Dryden, NY&lt;&#x2F;a&gt;,
located in Tompkins County.  I notice that &lt;a href=&quot;ftp:&#x2F;&#x2F;www.nysgis.state.ny.us&#x2F;pub&#x2F;nysdop1&#x2F;tompkins&#x2F;utm&#x2F;tiles&quot;&gt;Tompkins
only has&lt;&#x2F;a&gt; 30cm cir &lt;em&gt;and&lt;&#x2F;em&gt; 20cm cir coverage, and no color quads at
all.  So apparently the phrase &quot;your mileage may vary&quot; applies in
spades.

&lt;br&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http:&#x2F;&#x2F;mapper.acme.com&#x2F;?lat=44.523633&amp;amp;long=-75.167922&amp;amp;scale=16&amp;amp;theme=Topo&amp;amp;width=8&amp;amp;height=9&quot; border=&quot;0&quot;&gt;&lt;img src=&quot;http:&#x2F;&#x2F;blog.russnelson.com&#x2F;images&#x2F;stlawco.jpg&quot;&gt;&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;&lt;td&gt;&lt;a href=&quot;http:&#x2F;&#x2F;blog.russnelson.com&#x2F;images&#x2F;ir-coverage.jpg&quot; border=&quot;0&quot;&gt;&lt;img src=&quot;http:&#x2F;&#x2F;blog.russnelson.com&#x2F;images&#x2F;ir-coverage-tn.jpg&quot;&gt;&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;&lt;td&gt;&lt;a href=&quot;http:&#x2F;&#x2F;blog.russnelson.com&#x2F;images&#x2F;color-coverage.jpg&quot; border=&quot;0&quot;&gt;&lt;img src=&quot;http:&#x2F;&#x2F;blog.russnelson.com&#x2F;images&#x2F;color-coverage-tn.jpg&quot;&gt;&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;table&gt;&lt;&#x2F;p&gt;

&lt;p&gt;In order to use those images, I turned them into 200x200 pixel
tiles similar to those published by &lt;a href=&quot;http:&#x2F;&#x2F;www.terraserver-usa.com&#x2F;&quot;&gt;Terraserver&lt;&#x2F;a&gt;.  Those tiles
get thrown into an in-filesystem database which is a sparse local copy
of Terraserver.  Whenever any of my &lt;a href=&quot;http:&#x2F;&#x2F;pygps.org&#x2F;&quot;&gt;mapping software&lt;&#x2F;a&gt; fetches a map from
terraserver, it populates the database with it.  I&#x27;ve only published
pygps and mapview.  I haven&#x27;t yet published maptracks (makes a map
with a GPS track overlaid), make-tiles (which splits up the color
ortho quads), nor make-tiles-index (which creates the coverage
maps above).  They need improvement before they&#x27;re seriously
usable.&lt;&#x2F;p&gt;

&lt;p&gt;These datasets get very large, by the way.  I&#x27;ve recently
discovered the magic of external hard drives using USB 2.0.  I picked
up a 120GB Western Digital drive from Office Max for $60.  The ortho
quads amount to 3.9GB, but if you uncompress them all to .tiffs,
you&#x27;ll fill up all 120GB.  I need to uncompress on the fly with
make-tiles.&lt;&#x2F;p&gt;



</description>
</item>

</channel>
</rss>
