This quarter I needed an independent study class. I thought it would be a good idea to get familiar with some of the open source gis libraries/applications available out there, so I went to the most hardcore open source professor at my school, and convinced him to give me his sinature so I can do a small web application that is spatially enabled. Basically, it is a small website where you can lookup (anonymous) salary information from H1B visa holders around the U.S.
I've spent last weekend researching what projects I can use to build such a website as well as what programming language I can learn in a short term. So far this is what I thought I would use:
- Apache: Web Server (
http://httpd.apache.org/)
- Php: Programming Language (
http://www.php.net)
- PostgreSQL: OS Database (
http://www.postgresql.org)
- PostGIS: Spatial Extension for PostgreSQL (
http://postgis.refractions.net)
- GEOS: geometry operations library (
http://geos.refractions.net)
- PROJ4: Cartographic Projection Library (
http://proj4.maptools.org/)
- TIGER: US Census Bureau street data (
http://www.census.gov/geo/www/tiger/)
- MAPSERVER: Spatial data Server.
http://mapserver.gis.umn.edu/- Ka-Map: AJAX library for MapServer (
http://ka-map.maptools.org/).
- Eclipse with PHP plugin
- Geocoder to be determined.
- etc etc....
the list keeps going and going... and needless to say, all of this is mostly new to me from a functional point of view (i.e. I know they exist, but I've never actually used them to build anything).
I finally got all this crap compiled and in my home Linux machine... what a pain in the a$$ I may add. I don't blame anyone willing to fork the money for some ESRI licenses so that they get a nice setup.exe that gives you everything bundled and you get support. Building this type of site would take me no time if I was using ArcObjects and ASP.net; mainly because I am already familiar with what's available there.... but the whole point is to learn about the open source solutions (and to contribute to the open source ecosystem if I have enough time).
Now that I have a clear idea of what technologies I am going to use, I have to come up with some requirements for such a web application. The first thing that comes to mind, is that the main page should have a simple search text box where someone has to enter an address of the area you are interested in...
Got lots to read for the next couple of months!