<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GeoChalkboard</title>
	<atom:link href="http://www.geospatialtraining.com/blog/index.php?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.geospatialtraining.com/blog</link>
	<description>A GeoSpatial Training Services Blog</description>
	<lastBuildDate>Tue, 30 Apr 2013 13:33:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Save 20% on GIS Training &#8211; 8th Anniversary Sale</title>
		<link>http://www.geospatialtraining.com/blog/index.php/save-20-on-gis-training-8th-anniversary-sale/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/save-20-on-gis-training-8th-anniversary-sale/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 13:33:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2277</guid>
		<description><![CDATA[Geospatial Training Services is celebrating our 8th anniversary of business during the month of May. In celebration of this event we are beginning our annual sale on GIS training today! As usual, with our anniversary sale the earlier in the month you use the discount the bigger your savings. Anniversary sale discount schedule: April 29th [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://geospatialtraining.com" target="_blank">Geospatial Training Services</a> is celebrating our 8th anniversary of business during the month of May.</p>
<p>In celebration of this event we are beginning our annual sale on GIS training today!</p>
<p>As usual, with our anniversary sale the earlier in the month you use the discount the bigger your savings.</p>
<p>Anniversary sale discount schedule:</p>
<p><strong>April 29th &#8211; May 10th: 20%</strong><br />
<strong> May 11th &#8211; May 24th: 15%</strong><br />
<strong> May 25th &#8211; June 1st: 10%</strong></p>
<p>Simply enter the code &#8216;<strong>anniversary</strong>&#8216; when you checkout through our website or write in the code on the registration form if you fax or email the form.</p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/save-20-on-gis-training-8th-anniversary-sale/&text=Save 20% on GIS Training - 8th Anniversary Sale" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/save-20-on-gis-training-8th-anniversary-sale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8th Anniversary Sale on GIS Training</title>
		<link>http://www.geospatialtraining.com/blog/index.php/8th-anniversary-sale-on-gis-training/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/8th-anniversary-sale-on-gis-training/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 04:23:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2268</guid>
		<description><![CDATA[Geospatial Training Services is celebrating our 8th anniversary of business during the month of May. In celebration of this event we are beginning our annual sale on GIS training next Monday, April 29th. As usual, with our anniversary sale the earlier in the month you use the discount the bigger your savings. Anniversary sale discount [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://geospatialtraining.com" target="_blank">Geospatial Training Services</a> is celebrating our 8th anniversary of business during the month of May. In celebration of this event we are beginning our annual sale on GIS training next Monday, April 29th. As usual, with our anniversary sale the earlier in the month you use the discount the bigger your savings.</p>
<p><strong>Anniversary sale discount schedule: </strong><br />
April 29th &#8211; May 10th: 20%<br />
May 11th &#8211; May 24th: 15%<br />
May 25th &#8211; June 1st: 10%</p>
<p>Simply enter the code &#8216;<strong>anniversary</strong>&#8216; when you checkout through our website<br />
or write in the code on the registration form if you fax or email the form.</p>
<p>Discounts apply to any of our instructor guided or self paced courses.</p>
<p>Our most popular courses include:<br />
<a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=83%3Apython-gis-programming-bootcamp&amp;Itemid=100" target="_blank">Python ArcGIS Programming Bootcamp</a><br />
<a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=37%3Abuilding-custom-arcgis-server-applications-with-javascript&amp;Itemid=100" target="_blank">Building Custom ArcGIS Server Applications with JavaScript</a><br />
<a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=103%3Aprogramming-arcobjects-with-dot-net-for-arcgis-10&amp;Itemid=100" target="_blank">Programming ArcObjects with .NET</a><br />
<a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=102%3Adesign-and-build-gis-websites-like-a-pro&amp;Itemid=100" target="_blank">Design and Build GIS Web Sites Like a Pro</a></p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/8th-anniversary-sale-on-gis-training/&text=8th Anniversary Sale on GIS Training" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/8th-anniversary-sale-on-gis-training/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buy 1 Seat Get 1 Free &#8211; Building Custom ArcGIS Server Applications with JavaScript</title>
		<link>http://www.geospatialtraining.com/blog/index.php/buy-1-seat-get-1-free-building-custom-arcgis-server-applications-with-javascript/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/buy-1-seat-get-1-free-building-custom-arcgis-server-applications-with-javascript/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 16:32:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2265</guid>
		<description><![CDATA[Geospatial Training Services will be teaching a classroom session of Building Custom ArcGIS Server Applications with JavaScript in Seattle, WA at the King County GIS Center. The class will be held April 22nd-24th. We are offering a buy one seat get one free for this class. However, we only have 8 seats remaining. Please contact [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://geospatialtraining.com" target="_blank">Geospatial Training Services</a> will be teaching a classroom session of <a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=37%3Abuilding-custom-arcgis-server-applications-with-javascript&amp;Itemid=100" target="_blank">Building Custom ArcGIS Server Applications with JavaScript </a>in Seattle, WA at the King County GIS Center. The class will be held April 22nd-24th. We are offering a buy one seat get one free for this class. However, we only have <strong>8 seats remaining</strong>. Please contact me for more details at eric at geospatialtraining.com</p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/buy-1-seat-get-1-free-building-custom-arcgis-server-applications-with-javascript/&text=Buy 1 Seat Get 1 Free - Building Custom ArcGIS Server Applications with JavaScript " target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/buy-1-seat-get-1-free-building-custom-arcgis-server-applications-with-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7 GIS Classes Begin in May</title>
		<link>http://www.geospatialtraining.com/blog/index.php/7-gis-classes-begin-in-may/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/7-gis-classes-begin-in-may/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 16:30:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2263</guid>
		<description><![CDATA[Geospatial Training Services will be teaching 7 GIS classes beginning in May. Most of these classes are online, instructor guided, but we also have one Python ArcGIS Programming Workshop scheduled for Atlanta, GA in May. Classes include the following: Python ArcGIS Programming Bootcamp May 6th &#8211; June 7th Building Custom ArcGIS Server Applications with JavaScript [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://geospatialtraining.com" target="_blank">Geospatial Training Services</a> will be teaching 7 GIS classes beginning in May. Most of these classes are online, instructor guided, but we also have one Python ArcGIS Programming Workshop scheduled for Atlanta, GA in May.</p>
<p>Classes include the following:</p>
<p><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=83%3Apython-gis-programming-bootcamp&amp;Itemid=100" target="_blank">Python ArcGIS Programming Bootcamp</a><br />
May 6th &#8211; June 7th</p>
<p><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=37%3Abuilding-custom-arcgis-server-applications-with-javascript&amp;Itemid=100" target="_blank"> Building Custom ArcGIS Server Applications with JavaScript</a><br />
May 6th &#8211; June 7th</p>
<p><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=86%3Abuilding-mobile-arcgis-server-applications&amp;Itemid=100" target="_blank">Building Mobile ArcGIS Server Applications</a><br />
May 6th &#8211; June 7th</p>
<p><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=103%3Aprogramming-arcobjects-with-dot-net-for-arcgis-10&amp;Itemid=100" target="_blank">Programming ArcObjects with .NET for ArcGIS 10</a><br />
May 20th &#8211; June 14th</p>
<p><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=120%3Ajavascript-fundamentals-for-web-and-mobile-application-development&amp;Itemid=100" target="_blank">JavaScript Fundamentals for Web and Mobile Application Development</a><br />
<a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=120%3Ajavascript-fundamentals-for-web-and-mobile-application-development&amp;Itemid=100" target="_blank"> May 6th &#8211; 24th</a></p>
<p><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=71%3Aopen-source-gis-bootcamp&amp;Itemid=58" target="_blank"> Open Source GIS Bootcamp</a><br />
PostGIS + GeoServer + OpenLayers<br />
May 6th &#8211; May 25th</p>
<p><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=102%3Adesign-and-build-gis-websites-like-a-pro&amp;Itemid=100" target="_blank">Design and Build GIS Web Sites Like a Pro</a><br />
May 20th &#8211; June 21st</p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/7-gis-classes-begin-in-may/&text=7 GIS Classes Begin in May" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/7-gis-classes-begin-in-may/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CartoDB &#8211; Learn How to Import ESRI Shapefiles</title>
		<link>http://www.geospatialtraining.com/blog/index.php/importing-esri-shapefiles-to-cartodb/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/importing-esri-shapefiles-to-cartodb/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 18:23:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CartoDB]]></category>
		<category><![CDATA[Cartodb]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[ESRI]]></category>
		<category><![CDATA[Geospatial]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[Map View]]></category>
		<category><![CDATA[Shapefiles]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2227</guid>
		<description><![CDATA[Need to build a GIS website but don&#8217;t know how to write code?  GeoSpatial Training Services is now offering a new self paced, web based course covering CartoDB.  Building GIS Web Sites without Programming Using CartoDB is now available as a self-paced online class or can be purchased as part of our group and individual [...]]]></description>
				<content:encoded><![CDATA[<p>Need to build a GIS website but don&#8217;t know how to write code?  <a href="http://geospatialtraining.com">GeoSpatial Training Services</a> is now offering a new self paced, web based course covering <a href="http://www.cartodb.com" target="_blank">CartoDB</a>.  <a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=119%3Abuilding-gis-websites-without-programming-using-cartodb&amp;Itemid=123">Building GIS Web Sites without Programming Using CartoDB</a> is now available as a self-paced online class or can be purchased as part of our <a href="http://www.geospatialtraining.com/index.php?option=com_content&amp;view=article&amp;id=77&amp;Itemid=106" target="_blank">group</a> and <a href="http://www.geospatialtraining.com/index.php?option=com_content&amp;view=article&amp;id=84&amp;Itemid=112" target="_blank">individual annual GIS training</a> license.</p>
<p>A wide variety of data sources can be imported to CartoDB including those you see listed on this slide.  It is recommended that you compress files before you begin processing the data.  Data types include comma delimited text files, ESRI shapefiles, Google Earth format, Excel or OpenDocument spreadsheets, GPS files in GPX format, Open Street Map, and GeoTiff.</p>
<p>In this exercise you will learn how to import ESRI shapefiles into CartoDB.  You will need to download the data for the exercise and create a folder to hold the exercise data.</p>
<ul>
<li>Create the following folder structure on your computer: C:\GeospatialTraining\CartoDB\Exercises\Data</li>
</ul>
<ul>
<li><a href="https://s3.amazonaws.com/VirtualGISClassroom/CartoDB/CartoDB.zip" target="_blank"><strong>Download the data for this exercise.</strong></a>  Unzip to the \Data folder you just created.</li>
</ul>
<h2><b>Step 1:  Login to CartoDB</b></h2>
<ul>
<li>Go to <a href="http://cartodb.com">http://cartodb.com/login</a> and login using the account information you created in our first exercise.</li>
<li>You should see the Dashboard for your account as seen in the screenshot below.  Your interface will vary somewhat.</li>
</ul>
<p><a href="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/interface.png"><img class="alignnone  wp-image-2228" alt="CartoDB interface" src="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/interface.png" width="429" height="307" /></a></p>
<h2><b>Step 2:  Import a Shapefile</b></h2>
<ul>
<li>In the C:\GeospatialTraining\CartoDB\Exercises\Data (this will differ if you’re working on a Mac platform) folder you’ll find a file called Schools.zip which contains an ESRI shapefile.</li>
<li>Drag this file into the CartoDB dashboard.  You should see the dialog below as the data is imported.<br />
<a href="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/processfile.png"><img class="alignnone  wp-image-2229" alt="CartoDB process import file" src="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/processfile.png" width="395" height="232" /></a></li>
</ul>
<h2><b>Step 3:  Examine the Data</b></h2>
<p><b> </b>Since we imported an existing GIS dataset in shapefile format the table and map views will both be populated.</p>
<ul>
<li>Give your table a new name by clicking schools and renaming it City of Austin Schools as seen below.<br />
<a href="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/schools.png"><img class="alignnone  wp-image-2230" alt="CartoDB table name" src="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/schools.png" width="326" height="197" /></a></li>
<li>Click Save to change the title of the table.<br />
<a href="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/tabletitle.png"><img class="alignnone  wp-image-2231" alt="CartoDB table name" src="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/tabletitle.png" width="389" height="234" /></a></li>
<li>Notice that CartoDB has automatically added underscores where there were spaces between each word.  It has also been converted to lowercase.  This is done to accommodate the usage of SQL statements against tables.<br />
<a href="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/tabletitle2.png"><img class="alignnone  wp-image-2232" alt="CartoDB rename table" src="http://www.geospatialtraining.com/blog/wp-content/uploads/2013/03/tabletitle2.png" width="382" height="230" /></a></li>
<li>Add a description for your table by clicking ‘add a description for this table’.</li>
</ul>
<p>In future exercises you will learn much more about working with the table and map views of your data.</p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/importing-esri-shapefiles-to-cartodb/&text=CartoDB - Learn How to Import ESRI Shapefiles" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/importing-esri-shapefiles-to-cartodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Querying and Selecting Data in ArcGIS 10.1 with Python</title>
		<link>http://www.geospatialtraining.com/blog/index.php/querying-and-selecting-data-in-arcgis-10-1-with-python/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/querying-and-selecting-data-in-arcgis-10-1-with-python/#comments</comments>
		<pubDate>Tue, 19 Feb 2013 15:07:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2220</guid>
		<description><![CDATA[Today I&#8217;m releasing a free sample chapter from my soon to be published book Programming ArcGIS 10.1 with Python Cookbook.  Selecting features from a geographic layer or rows from a standalone attribute table is one of the most common GIS operations.  Queries are created to enable these selections, and can be either attribute or spatial [...]]]></description>
				<content:encoded><![CDATA[<p>Today I&#8217;m releasing a free sample chapter from my soon to be published book <a href="http://www.packtpub.com/programming-arcgis-10-1-with-python-cookbook/book" target="_blank">Programming ArcGIS 10.1 with Python Cookbook</a>.  Selecting features from a geographic layer or rows from a standalone attribute table is one of the most common GIS operations.  Queries are created to enable these selections, and can be either attribute or spatial queries.  In Chapter 8 of the Programming ArcGIS 10.1 with Python Cookbook you&#8217;ll learn how to create attribute and spatial queries and use these queries to select records from feature classes and tables using Python for ArcGIS 10.1.</p>
<p><a href="https://s3.amazonaws.com/VirtualGISClassroom/ProgrammingArcGISWithPythonCookbook/4445OT_08_PreFinal.pdf" target="_blank">Read the entire chapter.</a></p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/querying-and-selecting-data-in-arcgis-10-1-with-python/&text=Querying and Selecting Data in ArcGIS 10.1 with Python" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/querying-and-selecting-data-in-arcgis-10-1-with-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming ArcGIS 10.1 with Python Cookbook</title>
		<link>http://www.geospatialtraining.com/blog/index.php/programming-arcgis-10-1-with-python-cookbook/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/programming-arcgis-10-1-with-python-cookbook/#comments</comments>
		<pubDate>Thu, 24 Jan 2013 16:10:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[highlights]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2078</guid>
		<description><![CDATA[My new book, Python &#8211; ArcGIS 10.1 Programming Cookbook, will be published in March, 2013 by Packt Publishing. This book will make you a more effective and efficient GIS professional by showing you how to use the Python programming language with ArcGIS Desktop to automate geoprocessing tasks, manage map documents and layers, find and fix [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.packtpub.com/programming-arcgis-10-1-with-python-cookbook/book"><img class="alignright" style="border: 5px solid black; margin: 5px;" alt="" src="http://pythonarcgiscookbook.com.host01.cfdynamics.com/wp-content/uploads/2013/01/cover.png" width="247" height="307" /></a>My new book, <a href="https://www.packtpub.com/programming-arcgis-10-1-with-python-cookbook/book">Python &#8211; ArcGIS 10.1 Programming Cookbook</a>, will be published in March, 2013 by Packt Publishing.</p>
<p>This book will make you a more effective and efficient GIS professional by showing you how to use the Python programming language with ArcGIS Desktop to automate geoprocessing tasks, manage map documents and layers, find and fix broken data links, edit data in feature classes and tables, and much more.</p>
<p><strong>Book Chapters</strong></p>
<ul>
<li>Fundamentals of the Python Language for ArcGIS</li>
<li>Writing Basic Geoprocessing Scripts with Arcpy</li>
<li>Managing Map Documents and Layers</li>
<li>Finding and Fixing Broken Data Links</li>
<li>Automating Map Production and Printing</li>
<li>Executing Geoprocessing Tools from Scripts</li>
<li>Creating Custom Geoprocessing Tools</li>
<li>Querying and Selecting Data</li>
<li>Using the Arcpy Data Access Module to Select, Insert, and Update Geographic Data from Feature Classes and Tables</li>
<li>Listing and Describing GIS Data</li>
<li>Customizing the ArcGIS Interface with Add-Ins</li>
<li>Error Handling and Troubleshooting</li>
<li>Automating Python Scripts</li>
<li>5 Things Every GIS Programming Should Know How to do with Python</li>
</ul>
<p>The book is available for pre-order in e-book and print versions.</p>
<p>Our <a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=83%3Apython-gis-programming-bootcamp&amp;Itemid=100">Python ArcGIS Programming Bootcamp</a> was built using many of the materials used for this book. The next online session of this <strong>course begins March 18th</strong>. There is an early registration discount when you sign up for the class by January 31st. All students in the March 18th session will also receive a free copy of the ebook.</p>
<p>March 18th &#8211; April 19th<br />
$597 when you register by January 31st ($697 after)<br />
<a href="http://bit.ly/OfLmlv">Register here</a></p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/programming-arcgis-10-1-with-python-cookbook/&text=Programming ArcGIS 10.1 with Python Cookbook" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/programming-arcgis-10-1-with-python-cookbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create an ArcGIS Desktop Add-In with ArcObjects and .NET</title>
		<link>http://www.geospatialtraining.com/blog/index.php/how-to-create-an-arcgis-desktop-add-in-with-arcobjects-and-net/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/how-to-create-an-arcgis-desktop-add-in-with-arcobjects-and-net/#comments</comments>
		<pubDate>Thu, 20 Dec 2012 21:28:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ArcGIS 10.1]]></category>
		<category><![CDATA[ArcGIS Desktop]]></category>
		<category><![CDATA[ArcObjects]]></category>
		<category><![CDATA[ESRI]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2065</guid>
		<description><![CDATA[This is a guest post written by Mike Miller, the author and teacher of our new Programming ArcObjects with .NET for ArcGIS 10 class.  The next session of this class will be delivered online beginning January 21st, 2013. This course will also be taught in a traditional classroom setting in Seattle, WA at the King [...]]]></description>
				<content:encoded><![CDATA[<p>This is a guest post written by Mike Miller, the author and teacher of our new <a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=103%3Aprogramming-arcobjects-with-dot-net-for-arcgis-10-1&amp;Itemid=100" target="_blank">Programming ArcObjects with .NET for ArcGIS 10</a> class.  <strong>The next session of this class will be delivered online beginning January 21st, 2013.</strong> This course will also be taught in a traditional classroom setting in Seattle, WA at the King County GIS Center from February 25th-27th.</p>
<p>In this first of two posts on creating ArcGIS Desktop add-ins with ArcObjects and .NET we&#8217;ll take a look at the history of programming with ESRI products as well as introduce the concept of creating add-ins with .NET.  The second post will cover the details of how you create the add-ins.</p>
<p><strong>History of Programming with ESRI Products</strong><br />
First to put things in a historical context (from the ESRI perspective at least).  In the beginning (1982) there was Workstation Arc/INFO.  At that time very few people had desktop PC&#8217;s and what they had were expensive and limited so Arc/INFO was developed for more powerful UNIX workstations.  ESRI did eventually release a limited set of functions as PC Arc/Info which used dBase III for its database.  ArcInfo included a scripting language called AML  which was a procedural language used to extend the functionality of ArcINFO.</p>
<p>By 1995 Desktop PC&#8217;s had become more common, more powerful, and easier to use so ESRI released ArcView, intended to simply view data created in ArcInfo.  But as things tend to go, people wanted more capability and more power and ESRI added editing and advanced spatial analysis capability to ArcView and it became a full-featured GIS platform and they even included an object oriented programming language called Avenue</p>
<p>When ESRI developed Arcview they used a development toolkit called Open Interface which was a cross-platform interface that could be deployed on Microsoft Windows, Unix, and even MacIntosh.  But as computers became more powerful and more people used GIS and demanded more features ESRI ran up against some limitations in ArcView and Avenue which were being pushed far beyond their intended purposes.  So ESRI looked around to see what development platforms were available.  They chose Microsoft.</p>
<p>By this time Windows had essentially won the PC battle and PCs were becoming powerful enough to run large complicated software.  It seemed like the gold-standard.  So they completely re-wrote ArcINFO from the ground up using a Microsoft technology called COM.  At the time it was the largest implementation of COM ever, even larger than Microsoft Office, so it was a huge undertaking.</p>
<p>They called the new software ArcGIS and because they used COM they were able to expose all of its functionality to developers without actually releasing the source code.  ArcGIS itself was actually written using ArcObjects so that anything you could possibly do in ArcGIS you could do programmatically with ArcObjects.  From a developers standpoint  this was fantastic.  But it required learning a whole new language and more in the way of basic programming knowledge.  It was not as accessible to the end user as AML or Avenue.</p>
<p>There were two ways to access ArcObjects, Visual Basic for Applications was included with ArcGIS and allowed you to write ArcObjects programs from within  ArcGIS.  Or you could create COM components outside of ArcGIS using a COM compliant language like Visual Basic or Visual C++.  This allowed greater flexibility but also was more complicated and required Visual Studio.  But things progressed and Microsoft developed .NET technology which was incompatible with VBA and they began phasing out VBA.</p>
<p>ESRI saw the writing on the wall and looked around at what was available again and saw Python.  Python was cross-platform which allowed it to be used on non-windows machines, and it was independent of Microsoft.  It had a lot of flexibility and ESRI decided to include it to allow basic scripting of geoprocessing tasks in 9.0. They still had ArcObjects but they offered Python and the Geoprocessing framework as a more accessible way to extend ArcGIS.</p>
<p>In ArcGIS 10 ESRI phased out VBA completely and included Python in the core ArcGIS products.  They also exposed more functionality with ArcPy, ArcPy.mapping, ArcPy.sa, ArcPy.ga, ArcPy.da module.  This seems to be the wave of the future.  This is only my opinion but I think ESRI has a bit of buyers remorse after going whole hog with Microsoft in 2000 and are looking for options to go back to a more cross-platform environment down the road and Python may give them that opportunity.</p>
<p>BUT</p>
<p>ArcGIS is still written with ArcObjects.  ArcObjects is not going away anytime soon.  It was Microsoft&#8217;s decision to deprecate VBA not ESRI&#8217;s.  There is a huge amount of code out there written using ArcObjects and nobody wants to re-write it for Python, even if they could</p>
<p>EVERYTHING in ArcGIS is exposed to ArcObjects.  There are no limitation.</p>
<p>Python has quite a few limitations of its own.  If you are a software developer the Visual Studio development environment is far superior to Python but more complicated and more expensive.</p>
<p>So ESRI had a dilemma.  How do they prepare for the future and provide a simple, free, scripting environment for end-users but still allow the flexibility that ArcObjects provides and allow users to continue using their existing VBA code base.</p>
<p><strong>Introducing Add-Ins</strong><br />
What they came up with is the Add-In framework.  Writing ArcObjects code using COM is more complicated than most GIS Users want to deal with.  It requires components to be registered through the windows system registry and that is opening a large bag of worms that most GIS users would prefer not to deal with.  Deployment requires installation software that handles the work of registration but it is another learning curve that keeps GIS developers from focusing on GIS.</p>
<p>Add-Ins are much simpler.  The basic framework occurs in declarative XML which is relatively easy to read.  There is no need to register components or deal with complicated installation programs.  Add-Ins are a single file that you can give to people via e-mail or over through the web.  Clicking on the add-in file automatically installs it on the system and its functionality is there when you open ArcGIS.  It can even be put on a network share so that an entire corporation can have access to the add-in without a need to install on individual machines.</p>
<p>So, if you are new to programming in general or at least to programming in a GIS environment, which development environment should you choose?  As you can gather, there are a lot of options out there.</p>
<p>Python has a lot of things going for it, especially if you are primarily a GIS user and simply want to automate some processes.  If the current ArcPy modules will do what you need, or if you are patient enough to wait until ESRI exposes more functionality (which they are doing all the time) then you might want to invest in learning Python.</p>
<p>Or if you want to be able to run geoprocessing scripts in a UNIX environment you are stuck with Python because ArcObjects is based on COM and will only work on windows machines.</p>
<p>If you are just starting out as a GIS developer it might be a good idea to start with Python and look into ArcObjects if you find it doesn&#8217;t meet your needs.  Because Python seems to be the wave of the future and ESRI is putting a lot of effort into making it useful for extending GIS functionality.</p>
<p><strong>Advantages of Using ArcObjects</strong><br />
ArcObjects also has a lot of things going for it.  If you are already familiar with ArcObjects you might find Python extremely frustrating because the development environment is extremely limited and the functionality is also limited.  Especially if you need a more complex user interface than provided through ArcToolbox.  In particular if you already have an existing codebase that you&#8217;ve been working on for years you probably don&#8217;t want to re-write it all.</p>
<p>Again, ArcGIS is written using ArcObjects.  It would theoretically be possible to completely rewrite ArcGIS using ArcObjects so there are really no limitations on what you can do with it.</p>
<p>In particular, any type of user interface that you can imagine can be developed with ArcObjects.  Anything that you see other windows programs doing you can likely re-create in Visual Studio, while Python is limited to the ArcToolbox interface.</p>
<p>I&#8217;ve mentioned the development environment a few times.  What I mean by that is Visual Studio which has a visual interface for creating user interfaces using drag and drop methods.  Also the code editor is amazing with AutoComplete and Intellisense and context specific help.  It makes it much more efficient to write error-free code.  And if you fail to write error-free code on your first attempt the debugging environment is also amazing.  Python has none of these features and if you spend a lot of time programming it is probably well worth your time and money to purchase Visual Studio and use it for extending GIS</p>
<p>There are other things that you simply can&#8217;t do in Python.  These include feature class extensions, server object extensions, and creating an entire ArcGIS extension.  Finally, performance is also an issue.  ArcObjects is compiled code while Python is interpereted.  As such it is generally much faster and so if performance is critical, you should consider ArcObjects.</p>
<p><strong>The Add-In Framework</strong><br />
The add-in framework relies on a declarative XML document rather than COM registration to let ArcGIS know what components and assemblies are part of the Extension.</p>
<p>XML is a tag based language similar to HTML.  A major difference is that the tags can be defined to represent anything rather than conforming to a specified standard.  This allows individuals to create their own schemas for what tags to use and how they should be implemented.  Thus the name Extendable Markup Language</p>
<p>ESRI devised a schema for ArcGIS add-ins that includes things like the name of the add-in, the author, the version number, and the target.  The version number is checked automatically and if it is a newer version it will be installed automatically.  The target could be ArcMap, ArcCatalog, ArcGlobe, etc.  Then it lists the items that are in the add-in, such as buttons, tools, combo boxes.  It also lists item groups that are menus and toolboxes that list the individual items on them.</p>
<p>In the next post in this series we&#8217;ll show you how to create a simple add-in for ArcGIS Desktop using ArcObjects and .NET.</p>
<p>&nbsp;</p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/how-to-create-an-arcgis-desktop-add-in-with-arcobjects-and-net/&text=How to Create an ArcGIS Desktop Add-In with ArcObjects and .NET" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/how-to-create-an-arcgis-desktop-add-in-with-arcobjects-and-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2012 GIS Salary Survey</title>
		<link>http://www.geospatialtraining.com/blog/index.php/2012-gis-salary-survey/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/2012-gis-salary-survey/#comments</comments>
		<pubDate>Tue, 13 Nov 2012 15:12:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2058</guid>
		<description><![CDATA[It&#8217;s time once again for our annual GIS Salary Survey!  Take a few minutes to fill out our survey regarding GIS positions, years of experience, salaries, and more.  We&#8217;ll keep the survey open through December 7th and then publish the results in our newsletter and on our blog. You can view the results of our [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s time once again for our annual GIS Salary Survey!  Take a few minutes to fill out our survey regarding GIS positions, years of experience, salaries, and more.  We&#8217;ll keep the survey open through December 7th and then publish the results in our newsletter and on our blog.</p>
<p><a href="http://mygiscareer.com.host01.cfdynamics.com/?p=222">You can view the results of our 2011 survey here.</a></p>
<p><a href="http://survey.constantcontact.com/survey/a07e6mqxylbh9frvhmn/_tmp/questions">Take the 2012 survey!</a></p>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/2012-gis-salary-survey/&text=2012 GIS Salary Survey" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/2012-gis-salary-survey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming Class Schedule</title>
		<link>http://www.geospatialtraining.com/blog/index.php/upcoming-class-schedule/</link>
		<comments>http://www.geospatialtraining.com/blog/index.php/upcoming-class-schedule/#comments</comments>
		<pubDate>Thu, 25 Oct 2012 14:53:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ArcGIS Desktop]]></category>
		<category><![CDATA[ArcGIS Server]]></category>
		<category><![CDATA[ESRI]]></category>
		<category><![CDATA[GeoSpatial Training Services]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OpenLayers]]></category>
		<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.geospatialtraining.com/blog/?p=2049</guid>
		<description><![CDATA[Schedule of Internet Based, Instructor Guided Classes Programming ArcObjects with .NET for ArcGIS 10.1 November 26th &#8211; December 21st ArcGIS Server Bootcamp for New Developers November 5th &#8211; December 14th Design and Build GIS Web Sites Like a Pro November 5th &#8211; November 21st Python ArcGIS Programming Bootcamp January 7th &#8211; February 8th Building Custom [...]]]></description>
				<content:encoded><![CDATA[<h4>Schedule of Internet Based, Instructor Guided Classes</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=103%3Aprogramming-arcobjects-with-dot-net-for-arcgis-10-1&amp;Itemid=100">Programming ArcObjects with .NET for ArcGIS 10.1</a><br />
November 26th &#8211; December 21st</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=96%3Aarcgis-server-web-and-mobile-developer-bootcamp&amp;Itemid=117">ArcGIS Server Bootcamp for New Developers</a><br />
November 5th &#8211; December 14th</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=102%3Adesign-and-build-gis-websites-like-a-pro&amp;Itemid=100">Design and Build GIS Web Sites Like a Pro</a><br />
November 5th &#8211; November 21st</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=83%3Apython-gis-programming-bootcamp&amp;Itemid=100">Python ArcGIS Programming Bootcamp</a><br />
January 7th &#8211; February 8th</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=37%3Abuilding-custom-arcgis-server-applications-with-javascript&amp;Itemid=100">Building Custom ArcGIS Server Applications with JavaScript</a><br />
January 14th &#8211; February 22nd</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=86%3Abuilding-mobile-arcgis-server-applications&amp;Itemid=100">Building Mobile ArcGIS Server Applications</a><br />
January 14th &#8211; February 22nd</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=60%3Aarcgis-server-bootcamp&amp;Itemid=100">ArcGIS Server Bootcamp</a><br />
January 7th &#8211; February 15th</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=71%3Aopen-source-gis-bootcamp&amp;Itemid=108">Open Source GIS Bootcamp</a><br />
OpenLayers + GeoServer + PostGIS<br />
January 2013</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=97%3Ahtml5-and-css3-for-gis-web-developers&amp;Itemid=100">HTML5 and CSS3 for GIS Web Developers</a><br />
November 5th &#8211; 16th</h4>
<h4>Schedule of Traditional Instructor Led Courses</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=96%3Aarcgis-server-web-and-mobile-developer-bootcamp&amp;Itemid=117">ArcGIS Server Bootcamp for New Developers</a><br />
Atlanta &#8211; November 5th-9th</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=89%3Aarcgis-desktop-3-analysis-workflows&amp;Itemid=117">ArcGIS Desktop 3: Analysis and  Workflows</a><br />
Atlanta &#8211; November 8th-9th</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=24%3Agis-programming-101-for-arcgis-10-mastering-python&amp;Itemid=100">GIS Programming 101 for ArcGIS 10<br />
</a>November 29th-30th<br />
Austin, TX</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=83%3Apython-gis-programming-bootcamp&amp;Itemid=100">Python ArcGIS Programming Bootcamp<br />
</a>January 28th-30th<br />
Seattle, WA</h4>
<h4><a href="http://www.geospatialtraining.com/index.php?option=com_catalog&amp;view=node&amp;id=103%3Aprogramming-arcobjects-with-dot-net-for-arcgis-10-1&amp;Itemid=100">Programming ArcObjects with .NET for ArcGIS 10.1</a><br />
February 25th-26th<br />
Seattle, WA</h4>
<div style="clear:both;margin-bottom:5px;">
				<a href="http://twitter.com/share?url=http://www.geospatialtraining.com/blog/index.php/upcoming-class-schedule/&text=Upcoming Class Schedule" target="_blank" title="Click here if you liked this article">
					<img src="http://www.geospatialtraining.com/blog/wp-content/plugins/twitter-plugin/images/twitt.gif" alt="Twitt" />
				</a>
			</div>]]></content:encoded>
			<wfw:commentRss>http://www.geospatialtraining.com/blog/index.php/upcoming-class-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
