http://abstract.cs.washington.edu/wiki/index.php?title=UbiComp:GIS&feed=atom&action=historyUbiComp:GIS - Revision history2024-03-28T21:42:27ZRevision history for this page on the wikiMediaWiki 1.27.4http://abstract.cs.washington.edu/wiki/index.php?title=UbiComp:GIS&diff=6586&oldid=prevBdferris: /* Other Links */2007-04-25T23:39:28Z<p><span dir="auto"><span class="autocomment">Other Links</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 23:39, 25 April 2007</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l110" >Line 110:</td>
<td colspan="2" class="diff-lineno">Line 110:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Other Links ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Other Links ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Looking for maps and floorplans of campus buildings?  Check out <del class="diffchange diffchange-inline">http</del>://<del class="diffchange diffchange-inline">pelee</del>.opb.washington.edu/pnbdb/sims2/<del class="diffchange diffchange-inline">drawings</del>/<del class="diffchange diffchange-inline">floor_plans</del>.cfm.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Looking for maps and floorplans of campus buildings?  Check out <ins class="diffchange diffchange-inline">https</ins>://<ins class="diffchange diffchange-inline">puff</ins>.opb.washington.edu/pnbdb/sims2/<ins class="diffchange diffchange-inline">home</ins>/<ins class="diffchange diffchange-inline">main</ins>.cfm.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The site http://www.mapbuilder.net/ is a nice interface on top of Google Maps for determining the coordinates of locations on the map.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The site http://www.mapbuilder.net/ is a nice interface on top of Google Maps for determining the coordinates of locations on the map.</div></td></tr>
</table>Bdferrishttp://abstract.cs.washington.edu/wiki/index.php?title=UbiComp:GIS&diff=6534&oldid=prevBdferris at 04:04, 13 March 20072007-03-13T04:04:52Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 04:04, 13 March 2007</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l5" >Line 5:</td>
<td colspan="2" class="diff-lineno">Line 5:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If you are looking for free GIS software, check out Grass (http://grass.itc.it/), which has a nice Mac OS Version (http://wwwamb.bologna.enea.it/forgrass/).  With just Tutorial document included with Grass, I was abled to import SHP files of bus stops from King County GIS and output CSV files of relevant data in just an hour with no previous GIS software experience.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If you are looking for free GIS software, check out Grass (http://grass.itc.it/), which has a nice Mac OS Version (http://wwwamb.bologna.enea.it/forgrass/).  With just Tutorial document included with Grass, I was abled to import SHP files of bus stops from King County GIS and output CSV files of relevant data in just an hour with no previous GIS software experience.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>== State Plane Projections ==</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">== Coordinate Projections ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">While you can work directly with raw latitude and longitude readings, it's useful to project the coordinates into another coordinate system that easier to work with.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">=</ins>== State Plane Projections <ins class="diffchange diffchange-inline">=</ins>==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If you work with any kind of data from municipal GIS systems, it's probably using a coordinate system called State Plane Coordinate System (SPCS).  Without getting into too much detail (for that, check out MetroKC GIS [http://www.metrokc.gov/gis/kb/Content/DNRP_FAQ.htm#D4] and [http://www.metrokc.gov/gis/kb/Content/StatePlane.htm]), I'll say that SPCS is a series of coordinate systems designed to accurately map the not-flat world into flat maps here in the US.  We're in the WASHINGTON NORTH ZONE projection ourselves.  Read the links to find out more, but generally speaking, data from MetroKC GIS is typically in the Washington North SPCS based on Datum83 with HPGN (High Precision GPS Network) adjustments for the Washington-Oregon region, with units of feet.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If you work with any kind of data from municipal GIS systems, it's probably using a coordinate system called State Plane Coordinate System (SPCS).  Without getting into too much detail (for that, check out MetroKC GIS [http://www.metrokc.gov/gis/kb/Content/DNRP_FAQ.htm#D4] and [http://www.metrokc.gov/gis/kb/Content/StatePlane.htm]), I'll say that SPCS is a series of coordinate systems designed to accurately map the not-flat world into flat maps here in the US.  We're in the WASHINGTON NORTH ZONE projection ourselves.  Read the links to find out more, but generally speaking, data from MetroKC GIS is typically in the Washington North SPCS based on Datum83 with HPGN (High Precision GPS Network) adjustments for the Washington-Oregon region, with units of feet.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The big question, of course, is how does one convert to another coordinate system (GPS for example)?  If you are using actual GIS software, it will most likely have support for these conversions.  However, if you just have a data file with State Plane coordinate points, we need a conversion library of our own.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The big question, of course, is how does one convert to another coordinate system (GPS for example)?  If you are using actual GIS software, it will most likely have support for these conversions.  However, if you just have a data file with State Plane coordinate points, we need a conversion library of our own.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=== UTM ===</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Might be better than SPCS because you can use it all over the world, not just the United States.  Hopefully accurate enough for most applications.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Using Proj at the Commandline ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Using Proj at the Commandline ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>An open source solution is Proj ( http://www.remotesensing.org/proj ), which is a C library with Java bindings for doing projection conversions. <del class="diffchange diffchange-inline"> </del>From the <tt>proj</tt> documentation, we find the SPCS zone code for Washington North using Datum 83 is '<tt>4601</tt>'.  The following command will convert from an SPCS 'x y' coordinate in US feet to a lat-long coordinate.  Specifically, we convert the location of the UW Campus Hub Bus Station</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>An open source solution is Proj ( http://www.remotesensing.org/proj ), which is a C library with Java bindings for doing projection conversions.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">==== SPCS Example ====</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>From the <tt>proj</tt> documentation, we find the SPCS zone code for Washington North using Datum 83 is '<tt>4601</tt>'.  The following command will convert from an SPCS 'x y' coordinate in US feet to a lat-long coordinate.  Specifically, we convert the location of the UW Campus Hub Bus Station</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     % echo '1277730 242239' | proj -I +init=nad83:4601 +units=us-ft -f '%.8f'</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     % echo '1277730 242239' | proj -I +init=nad83:4601 +units=us-ft -f '%.8f'</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l26" >Line 26:</td>
<td colspan="2" class="diff-lineno">Line 38:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>*<tt>+units=us-ft</tt> : the input is in US feet</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>*<tt>+units=us-ft</tt> : the input is in US feet</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>*<tt>-f '%.8f'</tt> : output with eight decimals of precision</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>*<tt>-f '%.8f'</tt> : output with eight decimals of precision</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">==== UTM Example ====</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">You need to know your UTM zone to perform a projection.  You can use the Matlab 'utmzone' function for determinig which UTM zone a set of lat-lon coordinates are located.  Our HUB data point is in zone 10T.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">    % echo "-122.30502529  47.65458077" | proj +proj=utm +zone=10T +datum=NAD83</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">    552186.99      5278143.40</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Using Proj with Java ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Using Proj with Java ===</div></td></tr>
</table>Bdferrishttp://abstract.cs.washington.edu/wiki/index.php?title=UbiComp:GIS&diff=5868&oldid=prevBdferris: /* Other Links */2006-10-09T21:47:20Z<p><span dir="auto"><span class="autocomment">Other Links</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 21:47, 9 October 2006</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l97" >Line 97:</td>
<td colspan="2" class="diff-lineno">Line 97:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This site, http://mappinghacks.com/, has an interesting blog about mapping plus references for a book the guys are publishing (April 30,2005) through O'Reilly titled <i>Mapping Hacks</i>.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This site, http://mappinghacks.com/, has an interesting blog about mapping plus references for a book the guys are publishing (April 30,2005) through O'Reilly titled <i>Mapping Hacks</i>.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:UWAR]]</ins></div></td></tr>
</table>Bdferrishttp://abstract.cs.washington.edu/wiki/index.php?title=UbiComp:GIS&diff=5840&oldid=prevBdferris at 16:20, 9 October 20062006-10-09T16:20:32Z<p></p>
<p><b>New page</b></p><div>== UW GIS ==<br />
<br />
UW has site-wide licenses to a number of corporate GIS datasets, including King Count and City of Seattle. The data set can be accessed at http://wagda.lib.washington.edu/data/washdata.html#county with a valid UW ID.<br />
<br />
If you are looking for free GIS software, check out Grass (http://grass.itc.it/), which has a nice Mac OS Version (http://wwwamb.bologna.enea.it/forgrass/). With just Tutorial document included with Grass, I was abled to import SHP files of bus stops from King County GIS and output CSV files of relevant data in just an hour with no previous GIS software experience.<br />
<br />
== State Plane Projections ==<br />
<br />
If you work with any kind of data from municipal GIS systems, it's probably using a coordinate system called State Plane Coordinate System (SPCS). Without getting into too much detail (for that, check out MetroKC GIS [http://www.metrokc.gov/gis/kb/Content/DNRP_FAQ.htm#D4] and [http://www.metrokc.gov/gis/kb/Content/StatePlane.htm]), I'll say that SPCS is a series of coordinate systems designed to accurately map the not-flat world into flat maps here in the US. We're in the WASHINGTON NORTH ZONE projection ourselves. Read the links to find out more, but generally speaking, data from MetroKC GIS is typically in the Washington North SPCS based on Datum83 with HPGN (High Precision GPS Network) adjustments for the Washington-Oregon region, with units of feet.<br />
<br />
The big question, of course, is how does one convert to another coordinate system (GPS for example)? If you are using actual GIS software, it will most likely have support for these conversions. However, if you just have a data file with State Plane coordinate points, we need a conversion library of our own.<br />
<br />
=== Using Proj at the Commandline ===<br />
<br />
An open source solution is Proj ( http://www.remotesensing.org/proj ), which is a C library with Java bindings for doing projection conversions. From the <tt>proj</tt> documentation, we find the SPCS zone code for Washington North using Datum 83 is '<tt>4601</tt>'. The following command will convert from an SPCS 'x y' coordinate in US feet to a lat-long coordinate. Specifically, we convert the location of the UW Campus Hub Bus Station<br />
<br />
% echo '1277730 242239' | proj -I +init=nad83:4601 +units=us-ft -f '%.8f'<br />
-122.30502529 47.65458077<br />
<br />
Remember that since we are converting from (x,y) coordinates, the results are (x,y) as well (longitude,latitude).<br />
<br />
What do all those options mean?<br />
<br />
*<tt>-I</tt> : we are doing an inverse projection<br />
*<tt>+init=nad83:4601</tt> : SPCS conversion for Washington North and Datum83<br />
*<tt>+units=us-ft</tt> : the input is in US feet<br />
*<tt>-f '%.8f'</tt> : output with eight decimals of precision<br />
<br />
=== Using Proj with Java ===<br />
<br />
We can perform the same conversion using Proj's Java bindings. Their programmatic interface is a little clunky. Specifically, they only provide public methods that output the results of conversion to <tt>System.out</tt>. That's pretty much useless, but with a simple sub-class, we're able to get at the data we want. I'm not of the performance of this code in terms of bulk processing lots of conversion at once versus doing conversion one at a time. Your mileage may vary.<br />
<br />
import org.proj4.Others;<br />
import org.proj4.ProjectionData;<br />
import org.proj4.Projections;<br />
<br />
public class PointConverter {<br />
<br />
public static void main(String[] args) {<br />
<br />
int rows = 1;<br />
<br />
double[][] testCoord = new double[rows][2];<br />
double[] testValues = new double[rows];<br />
<br />
// Hey... it's the HUB again<br />
testCoord[0][0] = 1277730;<br />
testCoord[0][1] = 242239;<br />
<br />
// This is just the Z-coord, which we don't care about<br />
testValues[0] = 0;<br />
<br />
// create the dataset<br />
ProjectionData dataTP = new ProjectionData(testCoord, testValues);<br />
<br />
String srcProjDesc = "-I +init=nad83:4601 +units=us-ft";<br />
String dstProjDesc = "+proj=latlong";<br />
<br />
Others srcProj = new Others(srcProjDesc);<br />
MyLatLong dstProj = new MyLatLong(dstProjDesc);<br />
<br />
dstProj.transform( srcProj, dataTP );<br />
<br />
for( int i=0; i < dataTP.rows; i++ )<br />
System.out.println( "x=" + dataTP.x[i] + " y=" + dataTP.y[i] );<br />
}<br />
<br />
private static class MyLatLong extends LatLong {<br />
<br />
public MyLatLong(String desc) {<br />
super(desc);<br />
}<br />
<br />
public void transform( Projections source, ProjectionData data ) {<br />
source.prepareData(data);<br />
doTheTransform(source, data, data.rows, 0);<br />
prepareTransformedData(data);<br />
}<br />
}<br />
}<br />
<br />
== Famous Places ==<br />
<br />
=== The University of Washington ===<br />
<br />
For GIS info specific to the UW Campus, such as coordinates of important landmarks, check out its [[UbiComp:GIS:UWCampus|GIS Page]].<br />
<br />
=== The Allen Center ===<br />
<br />
For GIS info specific to the Allen Center, such as coordinates of the building, check out its [[UbiComp:GIS:AllenCenter|GIS Page]].<br />
<br />
== Other Links ==<br />
<br />
Looking for maps and floorplans of campus buildings? Check out http://pelee.opb.washington.edu/pnbdb/sims2/drawings/floor_plans.cfm.<br />
<br />
The site http://www.mapbuilder.net/ is a nice interface on top of Google Maps for determining the coordinates of locations on the map.<br />
<br />
This site, http://mappinghacks.com/, has an interesting blog about mapping plus references for a book the guys are publishing (April 30,2005) through O'Reilly titled <i>Mapping Hacks</i>.</div>Bdferris