<?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>geohackers</title>
	<atom:link href="http://geohackers.in/feed/" rel="self" type="application/rss+xml" />
	<link>http://geohackers.in</link>
	<description>Data, Technology, Maps</description>
	<lastBuildDate>Mon, 13 May 2013 08:26:16 +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>Adding the Spatial Element to your Data.</title>
		<link>http://geohackers.in/2013/05/adding-the-spatial-element-to-your-data/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adding-the-spatial-element-to-your-data</link>
		<comments>http://geohackers.in/2013/05/adding-the-spatial-element-to-your-data/#comments</comments>
		<pubDate>Mon, 13 May 2013 08:26:16 +0000</pubDate>
		<dc:creator>Sajjad Anwar</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[geocoding]]></category>
		<category><![CDATA[geojson]]></category>
		<category><![CDATA[google drive]]></category>
		<category><![CDATA[karnataka]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[qgis]]></category>
		<category><![CDATA[shapefile]]></category>
		<category><![CDATA[sslc]]></category>

		<guid isPermaLink="false">http://geohackers.in/?p=73</guid>
		<description><![CDATA[It has been a while since we started writing in a consistent pace. But somehow, I see that happening now. Today, we will see how to organize and align your data so that you can make a map or two out of it. We often deal with data in CSV formats, which potentially can be&#8230; <a href="http://geohackers.in/2013/05/adding-the-spatial-element-to-your-data/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>It has been a while since we started writing in a consistent pace. But somehow, I see that happening now. Today, we will see how to organize and align your data so that you can make a map or two out of it.</p>
<p>We often deal with data in CSV formats, which potentially can be visualized as a map. Let&#8217;s start with a sample file.</p>
<table class="table-condensed" width="713" border="0" cellspacing="0">
<colgroup width="40"></colgroup>
<colgroup width="143"></colgroup>
<colgroup width="102"></colgroup>
<colgroup width="98"></colgroup>
<colgroup width="109"></colgroup>
<colgroup width="91"></colgroup>
<colgroup width="87"></colgroup>
<colgroup width="88"></colgroup>
<colgroup width="114"></colgroup>
<colgroup width="37"></colgroup>
<tbody>
<tr>
<td align="LEFT" height="16">code</td>
<td align="LEFT">district</td>
<td align="LEFT">boys_appeared</td>
<td align="LEFT">girls_appeared</td>
<td align="LEFT">total_appeared</td>
<td align="LEFT">boys_passed</td>
<td align="LEFT">girls_passed</td>
<td align="LEFT">total_passed</td>
<td align="LEFT">pass_%</td>
<td align="LEFT">rank</td>
</tr>
<tr>
<td align="LEFT" height="16">GA</td>
<td align="LEFT">UDUPI</td>
<td align="RIGHT">8013</td>
<td align="RIGHT">8058</td>
<td align="RIGHT">16071</td>
<td align="RIGHT">6852</td>
<td align="RIGHT">7537</td>
<td align="RIGHT">14389</td>
<td align="RIGHT">89.53</td>
<td align="RIGHT">1</td>
</tr>
<tr>
<td align="LEFT" height="16">PA</td>
<td align="LEFT">SIRSI</td>
<td align="RIGHT">4582</td>
<td align="RIGHT">4633</td>
<td align="RIGHT">9215</td>
<td align="RIGHT">3955</td>
<td align="RIGHT">4183</td>
<td align="RIGHT">8138</td>
<td align="RIGHT">88.31</td>
<td align="RIGHT">2</td>
</tr>
<tr>
<td align="LEFT" height="16">LL</td>
<td align="LEFT">HASSAN</td>
<td align="RIGHT">11783</td>
<td align="RIGHT">11968</td>
<td align="RIGHT">23751</td>
<td align="RIGHT">9722</td>
<td align="RIGHT">10685</td>
<td align="RIGHT">20407</td>
<td align="RIGHT">85.92</td>
<td align="RIGHT">3</td>
</tr>
<tr>
<td align="LEFT" height="16">DD</td>
<td align="LEFT">TUMKUR</td>
<td align="RIGHT">12312</td>
<td align="RIGHT">11085</td>
<td align="RIGHT">23397</td>
<td align="RIGHT">10305</td>
<td align="RIGHT">9780</td>
<td align="RIGHT">20085</td>
<td align="RIGHT">85.84</td>
<td align="RIGHT">4</td>
</tr>
</tbody>
</table>
<p>The table above shows the first few rows from a CSV file containing SSLC results in Karanataka for the year 2012. You can download the <a href="http://geohackers.in/data/sslc.csv" target="_blank">complete file here</a>. The contents of the file and what each row means is very evident from the column headers.</p>
<p>The column of interest for you right now should be &#8216;district&#8217;. We will now use this column to make a map from this data. The process of converting an address or part of an address to a geographic coordinate is called <a href="https://en.wikipedia.org/wiki/Geocoding" target="_blank">geocoding</a>. We will geocode this data to find the latitude and longitude of the districts.</p>
<p>There are several ways of geocoding data &#8211; from free and easy APIs to comprehensive as well as expensive ones. Two of our favourites are: <a href="http://www.findlatitudeandlongitude.com/batch-geocode" target="_blank">Batch Geocode</a> and the <a href="https://github.com/mapbox/geo-googledocs" target="_blank">MapBox Google Docs Geo plugin</a>. We will use the second one for this exercise.</p>
<p>&nbsp;</p>
<p><strong class="subheading">Geocoding the CSV on Google Drive</strong></p>
<p>We have to first upload the file to Google Drive. This is very straight forward &#8211; just start by clicking the &#8216;Upload&#8217; icon. Before uploading, make sure that you have turned on &#8216;Conversion&#8217;. This converts the CSV to the Google Doc format. Just how you open the CSV in a spreadsheet application.</p>
<p><span class="thumbnail"><img class="alignnone size-full wp-image-104" alt="Upload to Google Drive" src="http://geohackers.in/wp-content/uploads/2013/05/google-drive-upload.png" width="495" height="367" /></span></p>
<p>After uploading, open the spreadsheet in Google Drive. Now let us enable the Geo plugin. Go to Tools -&gt; Script Gallery and search for &#8216;geo&#8217;. From the list of search results, select &#8216;Geo by MapBox&#8217;. Click &#8216;Install&#8217; and when asked to authorize, click the &#8216;Authorize&#8217; button. Refresh the page and now you should see an new menu item called &#8216;Geo&#8217;.</p>
<p><span class="thumbnail"><img class="alignnone  wp-image-106" alt="Enable Geo Plugin" src="http://geohackers.in/wp-content/uploads/2013/05/geo-plugin.png" width="714" height="534" /></span></p>
<p>Back to the data. Notice that the data has only the name of the district. The golden rule of geocoding is this: the descriptive the address, the precise the coordinates. For instance, an address like MG Road, Bangalore, Karnataka, India will have a better accuracy than MG Road, Bangalore. Since we know that all the district names that we see in the CSV are in Karnataka, we will add two more columns with the state and country name.</p>
<style><!--
.modified {font-size:12px;}
--></style>
<table class="modified table-condensed" width="774" border="0" cellspacing="0">
<colgroup width="40"></colgroup>
<colgroup width="143"></colgroup>
<colgroup span="3" width="102"></colgroup>
<colgroup width="98"></colgroup>
<colgroup width="109"></colgroup>
<colgroup width="91"></colgroup>
<colgroup width="87"></colgroup>
<colgroup width="88"></colgroup>
<colgroup width="114"></colgroup>
<colgroup width="37"></colgroup>
<tbody>
<tr>
<td align="LEFT" height="16">code</td>
<td align="LEFT">district</td>
<td class="text-warning" align="LEFT">state</td>
<td class="text-warning" align="LEFT">country</td>
<td align="LEFT">boys_appeared</td>
<td align="LEFT">girls_appeared</td>
<td align="LEFT">total_appeared</td>
<td align="LEFT">boys_passed</td>
<td align="LEFT">girls_passed</td>
<td align="LEFT">total_passed</td>
<td align="LEFT">pass_%</td>
<td align="LEFT">rank</td>
</tr>
<tr>
<td align="LEFT" height="17">GA</td>
<td align="LEFT">UDUPI</td>
<td align="LEFT">Karnataka</td>
<td align="LEFT">India</td>
<td align="RIGHT">8013</td>
<td align="RIGHT">8058</td>
<td align="RIGHT">16071</td>
<td align="RIGHT">6852</td>
<td align="RIGHT">7537</td>
<td align="RIGHT">14389</td>
<td align="RIGHT">89.53</td>
<td align="RIGHT">1</td>
</tr>
<tr>
<td align="LEFT" height="17">PA</td>
<td align="LEFT">SIRSI</td>
<td align="LEFT">Karnataka</td>
<td align="LEFT">India</td>
<td align="RIGHT">4582</td>
<td align="RIGHT">4633</td>
<td align="RIGHT">9215</td>
<td align="RIGHT">3955</td>
<td align="RIGHT">4183</td>
<td align="RIGHT">8138</td>
<td align="RIGHT">88.31</td>
<td align="RIGHT">2</td>
</tr>
<tr>
<td align="LEFT" height="17">LL</td>
<td align="LEFT">HASSAN</td>
<td align="LEFT">Karnataka</td>
<td align="LEFT">India</td>
<td align="RIGHT">11783</td>
<td align="RIGHT">11968</td>
<td align="RIGHT">23751</td>
<td align="RIGHT">9722</td>
<td align="RIGHT">10685</td>
<td align="RIGHT">20407</td>
<td align="RIGHT">85.92</td>
<td align="RIGHT">3</td>
</tr>
<tr>
<td align="LEFT" height="17">DD</td>
<td align="LEFT">TUMKUR</td>
<td align="LEFT">Karnataka</td>
<td align="LEFT">India</td>
<td align="RIGHT">12312</td>
<td align="RIGHT">11085</td>
<td align="RIGHT">23397</td>
<td align="RIGHT">10305</td>
<td align="RIGHT">9780</td>
<td align="RIGHT">20085</td>
<td align="RIGHT">85.84</td>
<td align="RIGHT">4</td>
</tr>
</tbody>
</table>
<p>Now that the data is ready, let us geocode it. Select the district, state and country columns. Click Geo -&gt; Geocode Addresses. The plugin will prompt you to select any geocoder API service &#8211; MapQuest or Yahoo! The accuracy of both the geocoders are pretty good and you might want to see what works best for your region and the data structure that you have. We will go with MapQuest for now. Just leave the API Key field blank and click &#8216;Geocode&#8217;. This will immediately add new columns for the coordinates and accuracy measure. When the geocoding is done, inspect the data and see if there are rows without coordinates. These rows have to be manually geocoded. I use OpenStreetMap to search for these locations manually and add the coordinates to the spreadsheet.</p>
<p>Now we have geocoded the spreadsheet. Great! Here&#8217;s a preview of few of the columns:</p>
<table border="0" cellspacing="0">
<colgroup span="6" width="85"></colgroup>
<tbody>
<tr>
<td align="LEFT" height="16">code</td>
<td align="LEFT">district</td>
<td align="LEFT">state</td>
<td align="LEFT">country</td>
<td class="text-warning" align="LEFT">longitude</td>
<td class="text-warning" align="LEFT">latitude</td>
</tr>
<tr>
<td align="LEFT" height="16">GA</td>
<td align="LEFT">UDUPI</td>
<td align="LEFT">Karnataka</td>
<td align="LEFT">India</td>
<td align="RIGHT">74.7548510231</td>
<td align="RIGHT">13.48048385</td>
</tr>
<tr>
<td align="LEFT" height="16">PA</td>
<td align="LEFT">SIRSI</td>
<td align="LEFT">Karnataka</td>
<td align="LEFT">India</td>
<td align="RIGHT">74.8350192</td>
<td align="RIGHT">14.6176591</td>
</tr>
<tr>
<td align="LEFT" height="16">LL</td>
<td align="LEFT">HASSAN</td>
<td align="LEFT">Karnataka</td>
<td align="LEFT">India</td>
<td align="RIGHT">76.1668778061</td>
<td align="RIGHT">13.02376815</td>
</tr>
<tr>
<td align="LEFT" height="16">DD</td>
<td align="LEFT">TUMKUR</td>
<td align="LEFT">Karnataka</td>
<td align="LEFT">India</td>
<td align="RIGHT">76.8748572157</td>
<td align="RIGHT">13.41179805</td>
</tr>
</tbody>
</table>
<p>One of the important feature that the Geo plugin offers is to export the data to <a href="https://en.wikipedia.org/wiki/GeoJSON" target="_blank">GeoJSON</a>. We recommend that you use GeoJSON for mapping or even visualizing this data on the web. To export the data, click Geo -&gt; Export to GeoJSON and save the file.</p>
<p>&nbsp;</p>
<p><strong class="subheading">Verifying the GeoJSON</strong></p>
<p>We will now use <a href="http://qgis.org" target="_blank">QGIS</a>, an open source, geospatial data management software. QGIS is at the heart of any cartogapher. If you don&#8217;t have QGIS installed already, <a href="http://hub.qgis.org/projects/quantum-gis/wiki/Download" target="_blank">download the binary from the website</a> and set it up. If you have question, let us know in the comments. Let us open QGIS and import the GeoJSON file as a layer. Click on the &#8216;Add Vector Layer&#8217; icon.</p>
<p><span class="thumbnail"><img class="alignnone size-full wp-image-105" alt="Add Vector Layer" src="http://geohackers.in/wp-content/uploads/2013/05/add-vector.png" width="462" height="102" /></span></p>
<p>In the file browser menu, change the format to GeoJSON and open the file. You should now see several coloured dots in QGIS.</p>
<p><span class="thumbnail"><img class="alignnone  wp-image-108" alt="QGIS Point Layer" src="http://geohackers.in/wp-content/uploads/2013/05/qgis-layer.png" width="860" height="465" /></span></p>
<p>You can now use your data to make maps!</p>
<p>&nbsp;</p>
<p><strong class="subheading">Making a map</strong></p>
<p>We will quickly make a map and introduce a very important feature in QGIS. Spatially speaking, our data is now a set of points. But we know that each of the dots correspond to a district. So what if we can have a map of all the districts in Karnataka with the data represented somehow? Great. For this, we need the district boundaries which can be downloaded from <a href="http://gadm.org/" target="_blank">GADM</a>. We extracted the boundaries from the country shapefile and you can <a href="http://geohackers.in/data/karnataka.zip" target="_blank">download it here</a>. Extract the archive and open it in QGIS. You should see a map like this.</p>
<p><span class="thumbnail"><img class="alignnone size-full wp-image-109" alt="qgis-map" src="http://geohackers.in/wp-content/uploads/2013/05/qgis-map.png" width="742" height="723" /></span></p>
<p>Now that we have both the layers in QGIS, let us merge them together. Click Vector -&gt; Data Management Tools -&gt; Join attributes by location. Select the target layer as the district layer and the join vector layer as the GeoJSON layer.  Choose a shapefile to save this merged data and click OK.</p>
<p><span class="thumbnail"><img class="alignnone size-full wp-image-107" alt="qgis-join" src="http://geohackers.in/wp-content/uploads/2013/05/qgis-join.png" width="436" height="492" /></span></p>
<p>We&#8217;ve the map data. Import this new layer, right click on it in the QGIS layer pane and click &#8216;Open Attribute Table&#8217;. You should see the result data merged to the district boundary data. Yay!  In the next post, we will discuss how to use this shapefile and make a map to show the data.</p>
<p>(SSLC data from the <a href="http://klp.org.in" target="_blank">Karnataka Learning Partnership.</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://geohackers.in/2013/05/adding-the-spatial-element-to-your-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing a New Map Portal for Karnataka Learning Partnership.</title>
		<link>http://geohackers.in/2013/05/designing-a-new-map-portal-for-karnataka-learning-partnership/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=designing-a-new-map-portal-for-karnataka-learning-partnership</link>
		<comments>http://geohackers.in/2013/05/designing-a-new-map-portal-for-karnataka-learning-partnership/#comments</comments>
		<pubDate>Mon, 06 May 2013 09:01:34 +0000</pubDate>
		<dc:creator>Sajjad Anwar</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[karnataka]]></category>
		<category><![CDATA[leaflet]]></category>
		<category><![CDATA[openstreetmap]]></category>
		<category><![CDATA[schools]]></category>

		<guid isPermaLink="false">http://beta.geohackers.in/?p=26</guid>
		<description><![CDATA[I recently rewrote the maps portal for the Karnataka Learning Partnership. The map is an important part of our project, action and process because it serves as the pivot point of navigation. I will quickly talk about the data and tools before we discuss the design aspects. We have a fairly large dataset of schools&#8230; <a href="http://geohackers.in/2013/05/designing-a-new-map-portal-for-karnataka-learning-partnership/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I recently rewrote the maps portal for the <a href="http://klp.org.in" target="_blank">Karnataka Learning Partnership</a>. <a href="http://klp.org.in/map" target="_blank">The map</a> is an important part of our project, action and process because it serves as the pivot point of navigation. I will quickly talk about the data and tools before we discuss the design aspects.</p>
<p>We have a fairly large dataset of schools in Karnataka. The name of the school, location, number of girls and boys etc. in a database. Fortunately, the data was clean and properly stored in a PostgreSQL database with PostGIS extensions. Most of my task was to modify the API to throw GeoJSON to the client using the <a href="http://www.postgis.org/docs/ST_AsGeoJSON.html" target="_blank">ST_AsGeoJSON</a> function and export the data.<br />
<strong></strong></p>
<p>We used the amazing <a href="http://leafletjs.com/" target="_blank">Leaflet.js library</a> and a wide range of plugins. Most of the UI elements are from <a href="http://twitter.github.com/bootstrap/index.html" target="_blank">Twitter&#8217;s Bootstrap</a>. I cannot say that Leaflet and Bootstrap works well all the time, but in case you want to add something on the map, make sure that you use extend <a href="http://leafletjs.com/reference.html#control" target="_blank">leaflet&#8217;s control layer</a>. For instance, see <a href="https://github.com/klpdotorg/klpwww/blob/master/js/maps.js" target="_blank">how we added the Stop Drawing control</a>.</p>
<p>We made several design decisions mostly inspired by the series of <a href="http://mapbrief.com/2013/03/15/your-online-map-is-missing-half-its-audience-more-revealing-web-analytics-from-the-field/" target="_blank">blog posts by Brian Timoney</a>.</p>
<p>&nbsp;</p>
<p><a href="http://geohackers.in/wp-content/uploads/2013/05/popup.png"><img class="aligncenter" alt="popup" src="http://geohackers.in/wp-content/uploads/2013/05/popup.png" width="297" height="179" /></a></p>
<p>&nbsp;</p>
<p><strong>Show only the required information</strong> &#8211; depending on the zoom level, we show the user relevant information at that level. For instance, the district layer will be hidden on a zoom level beyond 8, clusters and projects are not shown beyond 10. At the same time, the user is free to turn these layers on from the layer control on the right side. In case you are curious how to do this, here&#8217;s the <a href="https://github.com/klpdotorg/klpwww/blob/master/js/maps.js#L227-L255" target="_blank">bit of code that does this trick</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://geohackers.in/wp-content/uploads/2013/05/cluster.png"><img class="aligncenter" alt="clustering" src="http://geohackers.in/wp-content/uploads/2013/05/cluster-300x240.png" width="300" height="240" /></a><strong></strong></p>
<p><strong>Clustered markers</strong> &#8211; based on location, the markers are clustered. This makes the map much intuitive than laying out all the markers outright. There are several performance aspects of doing this though. Clustering gives the user a birds-eye view of how the data is spread over the locations.</p>
<p>&nbsp;</p>
<p><a href="http://geohackers.in/wp-content/uploads/2013/05/search.png"><img class="aligncenter" alt="search" src="http://geohackers.in/wp-content/uploads/2013/05/search-300x200.png" width="300" height="200" /></a><strong></strong></p>
<p><strong>Search</strong> &#8211; a very easy to use search bar is employed. Search is absolutely the best feature that any maps portal should offer. It helps the user quickly find his location of interest than pan the map around. In a way, search will take the user to the exact information that he/she is looking for.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://geohackers.in/wp-content/uploads/2013/05/filter.png"><img class="aligncenter" alt="filter" src="http://geohackers.in/wp-content/uploads/2013/05/filter-300x166.png" width="300" height="166" /></a><strong></strong></p>
<p><strong>Filter</strong> &#8211; suppose the user wants to find one particular school in an area well known to him. The filter tool on the portal does just this. It will help the user filter the data according to different levels and the map will change its view whenever the user selects an attribute. You are more than welcome try this out yourself. Just click the filter icon on the right side.</p>
<p>&nbsp;</p>
<p><strong>Bounding circle</strong> &#8211; we&#8217;ve often seen our users wanting to find schools within a particular distance from their point of interest. We incorporated the Bounding circle tool which lets the user draw a circle on the map, and it will load all the schools in that region. More over, it will also list all the schools  as drop down on the left side of the map.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://geohackers.in/wp-content/uploads/2013/05/location.png"><img class="aligncenter" alt="location" src="http://geohackers.in/wp-content/uploads/2013/05/location-300x226.png" width="300" height="226" /></a><strong></strong></p>
<p><strong>Locate the user</strong> &#8211; upon loading, the map portal will ask the user for his/her location, if it&#8217;s available, the map will change its view to that particular location and load the data. This gives more context to the volunteers at KLP. If you are starting out to build a map portal and are looking for a real world example, the <a href="http://klp.org.in/map" target="_blank">maps might be a good place for you to start</a>. Also, don&#8217;t forget to <a href="https://github.com/klpdotorg/klpwww/blob/master/js/maps.js" target="_blank">check the code!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://geohackers.in/2013/05/designing-a-new-map-portal-for-karnataka-learning-partnership/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mapping Mandis</title>
		<link>http://geohackers.in/2013/05/mapping-mandis/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mapping-mandis</link>
		<comments>http://geohackers.in/2013/05/mapping-mandis/#comments</comments>
		<pubDate>Fri, 03 May 2013 05:50:13 +0000</pubDate>
		<dc:creator>Shashank Srinivasan</dc:creator>
				<category><![CDATA[Maps]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[agriculture]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[madhya pradesh]]></category>
		<category><![CDATA[mandis]]></category>
		<category><![CDATA[qgis]]></category>

		<guid isPermaLink="false">http://beta.geohackers.in/?p=23</guid>
		<description><![CDATA[I was employed as a spatial data and cartographic consultant on a project to analyse specific agricultural commodities and Agricultural Produce Marketing Committees (APMCs) in the Indian states of Karnataka and Madhya Pradesh. The final product was a set of maps for various publications, as well as the clean datasets themselves. Agricultural market datasets for&#8230; <a href="http://geohackers.in/2013/05/mapping-mandis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I was employed as a spatial data and cartographic consultant on a project to analyse specific agricultural commodities and Agricultural Produce Marketing Committees (APMCs) in the Indian states of Karnataka and Madhya Pradesh. The final product was a set of maps for various publications, as well as the clean datasets themselves.</p>
<p>Agricultural market datasets for the states of Karnataka and Madhya Pradesh were obtained for the purposes of spatial visualisation; these contained information on wheat procurement in Madhya Pradesh (2008 – 2012), tuar production in Karnataka (2007 – 2009) and the locations and categories of APMCs in both these states. Some of the data was linked to district names, while the rest was geocoded using a <a href="http://www.findlatitudeandlongitude.com/batch-geocode/" target="_blank">free online geocoding service</a>. I used Quantum GIS, TextEdit and Microsoft Excel extensively for this project; Excel and TextEdit are invaluable when processing CSV files, and QGIS is where all the actual mapping itself takes place.</p>
<p>The actual process itself involved lots of data-cleaning and a little bit of mapping. First, for the geocoding, I ran the column containing the village names through the geocoder thrice; at each repetition, I tweaked the names a little more to get more accurate coordinate results. I then had to similarly tweak the district names to get them to match up with my source shapefiles; fixing bad spellings can be a LOT of work. In its entirity, this was a tedious process that involved organising, cleaning and validating four distinct datasets with both automated and manual operations. However, the final products were datasets that were clean, had accurate spatial locations and could easily be used to produce analytically valuable maps.</p>
<p><a class="thumbnail" href="http://geohackers.in/wp-content/uploads/2013/05/CASI-_-Five-years-of-wheat-procurement-in-Madhya-Pradesh-_-Animated.gif"><img class="size-medium wp-image-33 aligncenter" alt="CASI _ Five years of wheat procurement in Madhya Pradesh _ Animated" src="http://geohackers.in/wp-content/uploads/2013/05/CASI-_-Five-years-of-wheat-procurement-in-Madhya-Pradesh-_-Animated-300x300.gif" width="300" height="300" /></a></p>
<p>I’d like to say that processing agricultural data obtained from official Indian sources is a difficult task and involves manual intervention at various stages. However, these are rich datasets which can help create and implement national level agricultural policies. The creation of maps, or cartographic visualisations of these datasets, has a small but influential role to play in informing such policy creation. At a glance, complex spatial data can be digested and used as evidence to follow a certain course of action.</p>
<p>Once these datasets are clean and useable, it is possible to analyse them in multiple ways. For example, these same datasets can be used in association with web resources, such as Google Charts or JavaScript libraries (such as d3.js) to create interactive online maps that can be shared with a far larger audience than was traditionally possible.</p>
<p><a class="thumbnail" href="http://geohackers.in/wp-content/uploads/2013/05/EPW-_-Five-years-of-wheat-procurement-in-Madhya-Pradesh.jpg"><img class="size-medium wp-image-34 aligncenter" alt="EPW _ Five years of wheat procurement in Madhya Pradesh" src="http://geohackers.in/wp-content/uploads/2013/05/EPW-_-Five-years-of-wheat-procurement-in-Madhya-Pradesh-255x300.jpg" width="255" height="300" /></a></p>
<p>Part of this work was published in an EPW article earlier this year, available at this <a href="www.epw.in/review-rural-affairs/states-wheat.html">link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://geohackers.in/2013/05/mapping-mandis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
