Big Data Geo-Analytics with Postgres workshop Evaluation

Great fun at the Maryland State GIS conference (@tugis) where I had over 20 people attend my Big Data Geo-Analytics with Postgres workshop. And, like other workhops I’ve taught at Tugis (see here, here, and here), the evaluations were really strong. I should remind you that this was not your run of the mill workshop. This was really advanced stuff where we discussed indexing, parallel processing, multi-processing, the central limit theorem, and also processed gigabytes of data. I warned people beforehand that this was not an introductory workshop. And, people responded perfectly. Everyone in attendance was prepared for the material, and that is what made the workshop go so well. The full workshop results are here. But, as far as highlights, here are the main take-aways:
I love it when professionals taking my workshop feel as though it has value to their career. The reality is, why take a workshop that won’t help you in your career? I’m so happy that people see this as valuable to their career.
This response was great. Usually, I get about 30% of the people to give the workshop a 10/10 (I get other 9s and 8s, of course). But in this case, 50% of the people gave this a 10/10. That is really huge. So, I know that I am teaching this content in the right way. When asked what they liked best, some of my favorite positive quotes are:
  • Technical and Detailed. Great teacher explanation. Really good!
  • Practical advice, in-depth enough to really learn something useful (most one-day workshops do not provide as much useful info and advice as this one).
  • The optimization of the database and processing (parallel processing in particular).
  • Learning about Postgres and the ability to run sql queries rather than run step by step in ArcGIS
  • Using Postgres to utilize data organization and data manipulation was great insight. It showed me postgres is a great alternative to SQL server or Oracle
  • Art knows his material and keeps the class engaged. Lots of new information.
  • The discussions on multiprocessing, indexes, and using statistical estimation were most useful to me.
When asked to provide ways to make the workshop better, these were some of my favorite quotes:
  • Nothing – good job. Thanks
  • Slower pace of the lessons. It was like drinking water out of a firehose.
  • Make it two days, or a week long, or a full semester!
  • I thought it was pretty good as is, I can’t think of anything off hand.
  • Have the materials available ahead of time for review. Would be useful to go deeper into how to use this at work and what we need to get started. Nothing – good job. Thanks
  • Slower pace of the lessons. It was like drinking water out of a firehose.
  • Make it two days, or a week long, or a full semester!
  • I thought it was pretty good as is, I can’t think of anything off hand.
So there you have it. Another successful workshop teaching GIS professionals about big data analytics. If you want to learn more about free and open source GIS, whether its QGIS, Postgres/PostGIS, GDAL, Geoserver, or Python and SQL, take a look at the courses I offer through Finally, I want to start offering this big data analytics workshop with Postgres and PostGIS during the year. I would be happy to come to your city or GIS conference to teach the class. Just send me a note, and we can work out a way to get me to your area to introduce GIS professionals to more FOSS4g contents.

Big data analytics with GIS – the CSULB pilot

Well folks, it’s happening. I’m about to take one of my most adventurist steps into these training classes yet.

With the release of Manifold 9, I’m going to offer a big data analytics class that includes gigabytes of data, multi-databases, statistical processing, and parallel processing. And, it is something you will be able to participate in using only freely available software. Imagine that, a big data analytics class with free software

Delivering 20GB of data at a bring your own device (BYOD) training class is a challenge. Also, with this high level work, it is a further challenge to decide what can fit into a one day workshop.

Thankfully, the California State University at Long Beach provided me with an opportunity to teach my workshop to their students this week. It was a blast!

More importantly I learned a lot about how to put together a deep-dive of a class like this together. 8 hours is simply too short!!

The students loved the workshop, and I loved teaching it. Stay tuned, as a live workshop will be up coming to a city near you, and an abbreviated online workshop will roll out in the next month.





Maryland State GIS Conference (TuGIS)

The TuGIS training workshop on March 20, 2017 is completed – you can see the workshop evaluations below:  

The workshop evaluations are in

(if you want to cut to the chase, the workshop results are here).

I had a great time teaching our two workshops at the TuGIS conference.  In the morning, my students and I presented Spatial SQL: A Language for Geographers, and in the afternoon we taught Python for Geospatial.

We knew expectations would be high: both courses sold-out in 2 days, and we even expanded the class size to 38 people for each workshop!!  I knew that teaching 38 people would be a challenge, but it would also be a great lesson to see if we could corral so many cats into a single, technical workshop.  The workshop evaluations would be crucial to determine if we met our objectives.

The workshop evaluations were overwhelmingly positive.  For example:

  1. over 90% said they enjoyed the workshop.
  2. over 83% said it was much better than other GIS training they have been to.
  3. on a scale of 1-10, 95% of the attendees rated the course a 7 or above.
  4. 93% said they learned something new in the workshop.
  5. 89% said the workshops would help them in their careers.
  6. 91% said they would apply these skills to their job.

I decided to throw one curve-ball on the evaluation sheet and asked:

This was a half-day workshop. Most one-day GIS training classes cost around $600/day. If we developed other in-depth full-day workshops on topics like this for under $250, how likely would you be to participate in it?

it turned out that 89% of the respondents rated a 7 or higher, indicating that almost 90% of the people valued the training enough to pay $250 for a full day course (opposed to $600 for most GIS courses).  This means it is possible to offer really good, low cost training to GIS professionals.  Keep an eye out on this, as I am very likely to take these training classes on the road.

The comments the participants provided were great – it confirmed our belief that this was an excellent training course, and that the course needed to be expanded to 8 hours, rather than 4 hours – most everyone felt like their was simply too much information to absorb.

If you would like to see the results of the workshop evaluation, click the link below:

TuGIS Workshops – Google Forms

Finally, if you can’t make it to a live workshop, all of my video training courses are $30 or less, when you visit  These courses can’t get into the level of depth that a live course gives, but you’ll see that after thousands of students taking the courses, close to 90% of them give the course 4 starts out of 5!


How do I do that in Arcpy

howdoiIn 2004, I created a little document with my students titled How do I do that in ArcGIS/Manifold.  To our surprise, the document really took off, and had tens of thousands of downloads from all over the world.  It was that document, and the response, that got me to realize how as a Professor, I could have a far reaching impact on people learning GIS.

As the years passed, I came out with a number of other documents in the series: How do I do that in Manifold SQL, How do I do that in QGIS, and How do I do that in PostGIS.  These documents have also been used by thousands of people (although, nowhere near the reach of the original document).

So  today I am posting my latest book in the series: How do I do that in Arcpy: Illustrating Classic GIS Tasks.  I love this book: it is short and to the point, and actually provides users with code to illustrate all the commands that the USGS’s 1988 document A Process for Evaluating Geographic Information Systems said should be in any GIS.  Between Manifold, PostGIS, QGIS, and Arcpy, I can’t keep all these languages straight (the effects of aging, I suppose).  So, I keep each of these books right next to my computer for a quick reference on how to do virtually any GIS task.

I welcome you to download the .pdf and make use of it yourself with the accompanying geodatabase..  You are free of course to send it to whomever you like, but I would appreciate it if you simply provided people with a link to my site so they can see more of what I’m doing here.


If you want to learn more about how to program geospatial tasks with Python, or how to use Free and Open Source GIS like QGIS and PostGIS, check out all my courses here.  And, in celebration of the book, you can get my course Python for Geospatial for $20 here.

Undergraduate Geospatial Python Projects

earthballThis week my GIS Programming students presented their programming projects to ESRI. First, I cannot say enough to thank ESRI for taking time out of their schedule to meet with our students – the staff was helpful, encouraging, and provided great feedback to the students – what an honor it was to get their feedback.  I am so thankful to be a part of a GIS community that is so supportive of one another.

Now, this was a really special class of undergraduates – and some of them were part of that special group of students that presented their research at an undergraduate conference.  It was small, so we could do some really cool things.  In fact, in the middle of the semester, the students wrote a paper comparing the geocoding accuracies of Google Maps and the United States Census Bureau.

Things were going so well that I decided in lieu of a final exam, we expanded their final projects a little more, and arranged for the staff at ESRI Charlotte and ESRI Redlands to join us on a WebEx that included demonstrations and a code walk-through.  Below are each students’ presentation, and some of the Q&A from ESRI:

noahNoah Krach.  Noah is an amazing undergraduate.  Recently, we lost one of our graduate research associates, and Noah stepped in to provide technical support on a National Science Foundation project in Lake Victoria.  Without missing a beat, Noah was all over the project, and he used his time in my class to create an Arcpy tool to extract, translate, and load (ETL) gigabytes of Landsat imagery.  This tool does a lot, and I can’t even begin to describe all he did, you’ll simply have to watch and learn.

Check out his video, and you’ll see why we are so excited that Noah will be around for another semester.


Caitlin Curry.  If you follow my blog, you’ve already met Caitlin.  She finished her summer internship I told you about, and during the middle of it, her boss wrote us to say what an excellent worker she was (he prefaced his email by saying he never does that, but was so impressed with Caitlin, he had to let us know).  We are impressed with Caitlin, too.  And, as I have now grown to expect, Caitlin did an amazing job with another ETL type tool using Arcpy, where she downloaded, unzipped, and processed earthquake data and critical infrastructure.

I did a lot of emergency response work with earthquakes in a previous life, and what Caitlin did here would have been so useful.  I think you will enjoy seeing how she integrated many different Python packages with Arcpy to provide an early warning application for emergency responders.  And just as a heads-up, Caitlin uses Python to download everything while the script is running – so you just give the script to a user and it works without any operator knowledge of the underlying data = really cool, and efficient.


Matthew Bucklew.  After my first lecture this semester, Matt told me he built his own computer this summer – just for fun.  So, I knew he wasn’t your ordinary  geographer – he likes to try new things, and if something is done in a conventional way, Matt is going to try and be more innovative.  Matt created a great Arcpy application to locate renewable engery stations needed by automobiles.  His Python scripts use ArcGIS for analysis, but at the same time, seamlessly brings in the Google APIs to provide directions to the nearest locations.  For good measure, he also brings in other packages like heapq.

At the moment, Matt’s program works on a desktop, but his hope it to turn this application into a cloud based solution for use with mobile phones.  Keep an eye out for what Matt comes up with, and if you watch this, you’ll see it is an excellent tutorial on how to mash up bunches of Python packages with Arcpy.

jmJessica Molnar.  Like Caitlin, Jessica is another student you’ve seen before.  She’s got such a big heart, and is always looking for ways to apply GIS to humanitarian and ecological solutions.  In this project, Jessica created an Arcpy application to identify locations for community gardens in Baltimore City with special consideration for locations within food deserts, near churches and schools, and on suitable soils for growing food.  Jessica’s program also found those locations that were already owned by the City, but were vacant.  Let’s hope the City makes use of this to build a more beautiful Baltimore (BTW, Jessica wrote her program to work in any location in the State of Maryland, so any community can use this tool!).  I think Jessica may eventually roll this into a cloud based solution – hey Jessica, I think we found a project for graduate school!


jtJohn Tilghman.  John’s family owns an orthodontist practice, and John decided to use PostGRES/PostGIS along with a number of other different Python packages to perform market area analysis.  John integrated PostGRES, Google, and the Pygal libraries to create the first stages of a geodashboard to assess the effectiveness of marketing strategies, and other metrics.  In the video, you’ll also see how he created a distance decay algorithm in SQL to determine at what point customers drop off from visiting the practice.  With just a little bit of information (addresses and marketing strategies), John was able to extract a ton of business information – in fact, our guests from ESRI were surprised the John wasn’t already a business major!

This is an excellent presentation to watch for those of you who are interested in using Python with Open Source GIS – you’ll learn how to integrate FOSS4g and Python for a business analytics tool.


jyJosh Young.  Josh created an Arcpy script to assemble tons of location based data that might be useful for someone thinking about moving to a particular location.  Now, in Josh’s case, he chose location based data he deemed important for the neighborhood (download speeds, elementary school, crime statistics, distance to the downtown, etc.).  But ultimately, what Josh has shown us is how to create a template that integrates multiple Python packages and online data to provide very useful information.

It would be so easy to take Josh’s work and roll it into a site specific location-based analysis engine.  In fact, one of the people watching Josh’s presentation mentioned that he was moving, and saw how useful this could be for a community.  The best part of it is that Josh did it with all freely available online data for the State of Maryland, so any community can spin this up into a cloud-based solution.



Robbie Stancil.  Robbie is our only non-geography major.  You’ve met him before when he worked with me on a National Science Foundation project to use Spatial Hadoop.  Like John, Robbie’s project used Postgres/PostGIS and the Google API to do something quite interesting: he created a mesh of points over community to determine how far the Google API will search in order to find a property address, and compared the concave hull of each series of points for an address to the actual property parcel.  This project got us thinking about some very creative uses – you’ll have to watch it until the end to see the interesting things we came up with.


Again, I have to give a huge shout out to the ESRI staff – they were wonderful guests, and really excellent mentors during the Q&A. As these students get ready to graduate in May, I know they will make excellent employees or graduate students – the future is really bright for them. If you are in academia, I hope that you are inspired to expect the very best of your students as I do, and you’ll be so pleased to see what they are capable of doing.

want to learn how to program geospatial solutions like these students? Check out the geospatial courses at   

A New Online Course in Statistical Problem Solving in Geography

I am so happy to see the uptake in universities that are using my textbook An Introduction to Statistical Problem Solving in Geography.  Not only are more schools using the book, but the feedback from the faculty has been tremendous:

Just yesterday, a Professor wrote:

I use your textbook for our required “Statistical Research Methods in Geography” course at [Name of College Withheld] and am so glad that you are continuing to update and support it as I find it the best book on the subject out there.

 As you know, I also put together a corresponding workbook that includes laboratory exercises for each of the book chapters.  A number of schools are using the book, and I provide answer keys to the professors.  This has worked out well, allowing students to obtain a textbook and a laboratory workbook for under $70.

To support the faculty using my book, I provide them with my lecture notes.  That way, they can get their classes spun-up a lot quicker.  I just send out an updated version of my lecture notes this week. Continue reading

New Books – How do I do that in PostGIS, How do I do that in Manifold SQL

I have two new books out – How do I do that in PostGISand How do I do that in Manifold SQL.  

From the back cover of How do I do that in PostGIS:

For those who are unsure if SQL is a sufficient language for performing GIS tasks, this book is for you. This guide follows the topic headings from the book How do I do that in ArcGIS/Manifold, as a way to illustrate the capabilities of the PostGIS SQL engine for accomplishing classic GIS tasks. With this book as a resource, users will be able to perform many classic GIS functions using nothing but SQL.

Continue reading

The High Cost of Education? Graduate school, Part I

In my previous posts (here, here, and here), I discussed affordable ways to obtain a college degree, gave some tips on making the most of your college experience, and also provided a testimony of one of my students who got his degree from the GI bill.  Today, I want to focus on graduate school.

So you’ve just read about affordable ways to get your college education.  Now you may be wondering “what about graduate school“?  That is a good question, and below is my single bit of advice for going to graduate school: Continue reading

The High Cost of Education? How one student did it with the GI Bill

Today I want to introduce you to one of my students: Patrick S.  As you will read below, Pat came to Salisbury University as part of the GI bill, and took a number of courses with me.  I love having students from the military: they are bright, respectful, and hard working.  Pat was also one of the best cartographers I’ve met, and we actually hired him to create all the maps and graphics for my book.  You will see from Pat’s story that he made the most of his military experience and was able to take advantage of the benefits of the GI Bill.  What I particularly like is that Pat laid out the details for how he got it done.  I plan to have other former students tell their stories as well.

My Experience on the Costs of College While Utilizing the Post 911 G.I. Bill

Hello, my name is Patrick and I am a veteran who recently finished exhausting my Post-911 G.I. Bill benefits while attending undergraduate and graduate school at two different state universities. While the cost of college has exorbitantly increased since I first graduated high school back in the mid-1990s, the options that many students still have today to mitigate those costs are very lucrative. One of these options is military service and the subsequent Post-911 G.I. Bill benefits which can alleviate most, if not all of the associated tuition costs, book fees, and living expenses one arduously faces while attending college. If one plans correctly and lives conservatively, they can serve four years in the military and finish a Bachelor’s and a Master’s degree after their military service without even having to juggle a part-time job in the process. This can afford much more needed time for studying and other college obligations. This was the case during my experience utilizing the Post-911 G.I. Bill for the last four years. Continue reading

The High Cost of Education? Making the most of your experience

In the next couple of weeks I will be introducing you to some of my student friends who got the most out of their education, even though they did not have a lot of money for college.  But today I want to give you a few tips for making sure your (or your child’s) college experience is the best it can be.

In the documentary Inside the Ivory Tower – Is College Worth the Cost that I referred to in my last post a parent asked an Admissions Counselor at Wesleyan College “I am going to be spending a lot of money sending my child here – can you guarantee that he will have a job when he graduates?“.  The counselor seemed somewhat perplexed in answering the parent (obviously CNN chose the best footage to make the point).  My answer to that question would have been “it’s really up to your child“.  Here is what I mean: in today’s economy it isn’t enough to just have a college degree.  It isn’t enough to have a high GPA.  What you get out of your college degree, and your chances at a job, have a lot to do with what you put in to the process.  Here are some top ideas:

Continue reading