Thinking in GIS
a blog about GIS from a urban geogeek living at the countryside
After the GFOSS Day 2010, the Italian FOSS4G event
Posted: November 29, 2010Categories: GIS, Shapely, conferences, Python, GeoAlchemy, GeoDjango, GDAL, Uncategorized
Feedback: View Comments
Last week I have been attending the GFOSS Day 2010 in Foligno, basically the FOSS4G Italian Event that is held every year.The conference was split in two days: in the first days a good number of workshop and tutorials were given, related to a number of geospatial technologies.In the second day there were the instutional talks, mostly related on the open data theme.This year I myself gave two talks at the conference: in the first day, togheter with Alessandro Pasotti, we have been giving an extended tutorial about developing geospatial software with Python, here are the slides:Developing Geospatial software with...
Read the full post
Read the full post
Geocoding in web applications: OpenLayers and geoPy to the rescue!
Posted: September 17, 2010Categories: jQuery, GIS, Python, Django, OpenLayers, Tutorials, geopy, Uncategorized
Feedback: View Comments
In many situations, in your web applications, you will need a feature for geocoding an address, a city, a country...A possible approach is to use the Javascript API of the main geocoding services (Google Maps, Yahoo! Maps, GeoNames...).But as I have showed in a previous post, if you are using Python, there is an excellent API that will take care of this, without Javascript headaches: GeoPy.In this post I will show how to use geoPy, OpenLayers and a bit of JQuery to assemble a simple but nice tool for geocoding within OpenLayers.In my server code I will use Django but...
Read the full post
Read the full post
FOSS4G 2010 in Barcelona
Posted: September 11, 2010Categories: GIS, conferences, Uncategorized
Feedback: View Comments
This year I was enough lucky to have the possibility to attend at the FOSS4G World conference in Barcelona (thanks to my company for having send me there!) - that has been run just this week, as many of you may already know.I just came back home yesterday night and until my impression are still very clear, I were thinking it is a good idea to post them here.The conference, as you may know, is held every year and is organized by OSGeo. They try to organize it every year in a different continent, and this year was the time...
Read the full post
Read the full post
The unity of all the sciences is found in Geography
Posted: February 02, 2010Categories: GIS, Uncategorized
Feedback: View Comments
In Italy, recently, a new law is being discussed and if approved it will substantially reduce the hours Geography is taught in schools.My blog, together with other Italian mayor GIS related blogs, is going to support this petition by AIIG, Associazione Italiana Insegnanti Geografia (Geographic Teachers Italian Association):SCHOOLS WITHOUT GEOGRAPHYDoing geography at school means educating citizens of Italy and the world to be aware, independent, critical and responsible, to know how to live their lives within their environment, and how to change it in a creative and sustainable way, with an eye to the future.In the new curricula...
Read the full post
Read the full post
The Pinax Tutorial #5: Adding a comment system
Posted: December 21, 2009Categories: Python, Django, devs, The Pinax Tutorial, Pinax, Tutorials, Uncategorized
Feedback: View Comments
In this part we will improve the Bookstore application: what I am going to show is how easy it is to add support for enabling comments for a book without writing from scratch another comment system (as you may already now, avoid rewriting things is the core philosophy of Pinax and Django).Basically, you could add this feature by using one of these two approaches (there may be other ones, but these are the most common):Django comments frameworkthe django-threadedcomments system, that - as suggested by its name - it offers support for comments in a threaded fashionYou will implement a commenting...
Read the full post
Read the full post
The Pinax Tutorial #4: Using avatars, pagination and profiles
Posted: December 19, 2009Categories: Python, Django, devs, The Pinax Tutorial, Pinax, Tutorials, Uncategorized
Feedback: View Comments
In this part we will improve the Bookstore application and we will see how easy it is to add support for three core features that any web 2.0 sites is supposed to offer:support for avatarssupport for paginationsupport for user profilesIn Pinax you may use two kind of avatars for your users (in both case you may manage them from the Avatar page: http://localhost:8000/avatar/change/):gravatarscustom avatarsIn the first case Pinax will render your avatar using the gravatar you have associated to your email from the Gravatar web service. In the latter Pinax will use a custom avatar you have uploaded to the...
Read the full post
Read the full post
The Pinax Tutorial #3: Internationalization of the application
Posted: December 18, 2009Categories: Python, Django, devs, The Pinax Tutorial, Pinax, Tutorials, Uncategorized
Feedback: View Comments
(Note that, if you completed the other parts of this tutorial before the date of this post, you need to move the PROJECT_ROOT/templates/bookstore directory in PROJECT_ROOT/bookstore/templates: so now you will have a PROJECT_ROOT/bookstore/templates/bookstore directory. I did so for a better deployment experience, and doing so I am following the Django best practices. If you are reading the pdf version of the tutorial or the REST documentation, then this documentation is already updated with the templates directory in the right place).In this part of the tutorial I will show how easy it is to enable your application for internationalization with Pinax.Enabling...
Read the full post
Read the full post
Using MongoDb to store geographic data
Posted: December 06, 2009Categories: GIS, NoSQL, Python, MongoDb, devs, GDAL, Uncategorized
Feedback: View Comments
In the last months there has been a plenty of activity in the non relational (NoSQL) database world.NoSQL database tries to solve 3 main RDBMS problems:Scalability, for example the ability to automatically partitioning data across multiple machinesPerformance, in some case RDBMS can be very slowFixed schema: RDBMS have nice goodness (referential integrity, relationships, triggers...) but force you to store any object to a fixed schema (migrations are a pain!)Basically there are several different kinds of NoSQL database:Key/Value (Scalaris, Tokio Cabinet, Voldemort): store data in key/value pairs: very efficient for performance and higly scalable, but difficult to query and to implement...
Read the full post
Read the full post
The Pinax Tutorial #2: Developing the basic application and plugging it in Pinax
Posted: November 29, 2009Categories: Python, Django, devs, The Pinax Tutorial, Pinax, Tutorials, Uncategorized
Feedback: View Comments
In this part of the tutorial you are going to create the core of the bookstore application, with all the pages that gives access to the CRUD (Create, Read, Update, Delete) features. And you are goint to plugin this basic application into Pinax.After finishing with this part you will have the core of the bookstore application working as desired. You will be able to:see a list with all the books in the bookstoreadd a new bookupdate and delete your bookssee a list of all books added by yousee a list of all books added by a userIn the following parts...
Read the full post
Read the full post
Geocoding with GeoPy
Posted: October 14, 2009Categories: google, GIS, geonames, Python, yahoo, devs, geopy, Uncategorized
Feedback: View Comments
There are now may geocoding web services out there, like Google geocoder, Yahoo geocoder, geocoder.us (only for US address), Microsoft MapPoint, GeoNames and MediaWiki.Normally you may access this web services API directly with HTTP REST request, and get a response in common formats like , JSON, KML.For example you may geocode with the Google geocoder an address like this one: "1071 5th Avenue, New York, NY" with a request like this one:http://maps.google.com/maps/geo?q=1071+5th+Avenue,+New+York,+NY&output=json&oe=utf8&sensor=true_or_false=&key=your_apy_keyIn this case we are querying the Google geocoder web service to get a response in json via the output parameter in the query string. This is the...
Read the full post
Read the full post
The Pinax Tutorial #1: Installing Pinax and making basic customisation
Posted: October 10, 2009Categories: Python, Django, devs, The Pinax Tutorial, Pinax, Tutorials, Uncategorized
Feedback: View Comments
I will assume you are installing Pinax v0.7 on a Ubuntu 9.04 box, but this procedure - with a few modifications, should work well on every Linux box. For Windows please refer to the Pinax official site or - rather I highly reccomend to use VirtualBox, and to create an Ubuntu 9.04 Virtual Machine, so you will be able to follow step by step this tutorial.There are ready images like this one, to make things even easier.As suggested from the official installation procedure, the release bundle has everything you need for running Pinax.What is not included is:Python;Python Imaging Library (PIL);SQLite.Ubuntu...
Read the full post
Read the full post
The Pinax Tutorial, Introduction for Web Designers
Posted: October 03, 2009Categories: Python, Django, devs, The Pinax Tutorial, Pinax, Tutorials, Uncategorized
Feedback: View Comments
In the last weeks I was studing Pinax , an Open Source platform for building Django applications. While I enjoyed a lot learning how to develop software with this framework, and I am going to happily use it for a series of projects, I found a bit difficult to get documentation about it, if not reading the source code and the (few - at this time) documentation on the project web site.When I started, I decided to write a test application for understanding the Pinax philosophy before going for real development projects. I thought it would be very useful for...
Read the full post
Read the full post
A day with GeoDjango
Posted: April 01, 2009Categories: OpenStreetMap, Python, PostGIS, Django, OpenLayers, GeoDjango, GDAL, Uncategorized
Feedback: View Comments
This time i will introduce a really brilliant framework that every serious Web/GIS developers should be aware of: GeoDjango.Django is a Python Web framework for agile developers. It implements best web frameworks practices like coding by convention, MVC, ORM, REST, URL dispatcher and so on. Django is for Python what Rails is for Ruby, Grails is for Java, and MonoRail (and now ASP.NET MVC) is for .NET.GeoDjango is a Django application that is now included in the Django trunk with a lot of excellent stuff for developing GIS web application.GeoDjango Building BlocksGeoDjango installation is based on Python, Django and two...
Read the full post
Read the full post
A day with TileCache: generating KML Super-Overlays
Posted: August 06, 2008Categories: TMS, GIS, SharpMap, WMS, Python, MetaCarta, kml, FeatureServer, devs, Apache, MapServer, TileCache, OpenLayers, GeoServer, Tutorials, GDAL, Uncategorized
Feedback: View Comments
My friend Diego Guidi is the smartest GIS/.NET developer I personally know here in Italy. He is the developer of NetTopologySuite, the port in the .NET world of the popular Java's JTS Topology Suite from VIVID Solutions. I wanted, sooner or later, write some stuff here about WMS and TMS, and now I am very happy that Diego asked me to publish this brilliant article about this topic.First of all, let me thanks Paolo for hosting this post! I hope that this article can be interesting and useful like other stuff that you can find here...IntroductionThere are a lot of...
Read the full post
Read the full post
A day with FeatureServer #2
Posted: May 03, 2008Categories: OpenStreetMap, Web2.0, GIS, WMS, Windows, Twitter, PostGIS, devs, Python, OpenLayers, FeatureServer, Ubuntu, WFS, Flickr, Uncategorized
Feedback: View Comments
In the previous post we have seen an introduction to FeatureServer, and we were just playing with the base edit sample, with the scribble layer.Now it is time to use FeatureServer with our datasets: I am assuming that you will want to create FeatureServer services for shapefiles, PostGIS layers, OpenStreetMap, Twitter and Flickr.Data preparation for this demo1) shapefilesIf you want to follow my steps, you can download the sample shapefiles of New York I was using to assemble this demo here: select New York as a state and then as a county, and download the Block Groups and the Roads,...
Read the full post
Read the full post
Installing MapServer on Ubuntu
Posted: January 10, 2008Categories: GIS, devs, MapServer, Ubuntu, Apache, Uncategorized
Feedback: View Comments
With this post I will show hot to install MapServer 4.10.3 in Ubuntu 7.10 (but this procedure should work also for previous Ubuntu versions) from repositories.1) set Ubuntu sources needed for this softwareAdd universe ( http://archive.Ubuntu.com/gutsy/universe ) and multiverse repositories to your sources (by default are not in Ubuntu)sudo gedit /etc/apt/sources.listand uncomment this two lines:deb http://archive.ubuntu.com/ubuntu/ gutsy-security main restricted universe multiversedeb-src http://archive.ubuntu.com/ubuntu/ gutsy-security main restricted universe multiversesave the sources.list file and then then update your sources:sudo apt-get update2) Install MapServernow download and install MapServer:sudo apt-get install cgi-mapserver mapserver-bin mapserver-doc php5-mapscript python-mapscriptMapServer 4.10.3 will be installed (latest of MapServer 4.x serie,...
Read the full post
Read the full post
MapServer Tutorial for C# mapscript (ASP .NET)
Posted: September 20, 2006Categories: GIS, .NET, PostGIS, devs, MapServer, Tutorials, Uncategorized
Feedback: View Comments
This tutorial will try to guide you step by step in implementing a GIS (Geographic Information Systems) web solution, based on Open Source software (MapServer), within the .NET Framework.The tutorial is designed to work with Visual Studio 2003 and .NET 1.1, but you will easily be able to perform all the necessary steps to complete it using another version of Visual Studio (ie: Visual Studio 2005) or other IDEs (like Visual Web Developer 2005 Express Edition or even the notepad). It will work also using .NET 2 as c# mapscript is .NET 2 compatible.The tutorial is focused to people with...
Read the full post
Read the full post
MapScript C# Tutorial - Programming MapServer in the ASP .NET Framework
Posted: July 01, 2006Categories: GIS, .NET, PostGIS, devs, MapServer, Tutorials, Uncategorized
Feedback: View Comments
In the next stops I will write a tutorial about programming MapServer with .NET c#.This tutorial will try to guide you step by step in implementing a GIS (Geographic Information Systems) web solution, based on Open Source software (MapServer and PostGIS), within the .NET Framework.How to download the tutorialThe tutorial's data needed to complete this tutorial are downloadable here. In any case the tutorial is made in a way that you can easily adapt to use your own data (shapefiles).Here you can find a complete working Visual Studio 2003 solution (ASP .NET 1.1) with the whole tutorial's solution. moreTake...
Read the full post
Read the full post