Question

Is there the equivalent of the "Hello World" program for GIS applications?

I am looking to become more familiar with the development of GIS applications. What are the popular (and free/low cost) tutorials and/or sample applications that would help someone get started? Are there any books that you would consider essential for beginner GIS developers?

Was it helpful?

Solution

You could start with some basic desktop mapping software like uDig or Quantum GIS. And download some Shape files.

From there you might want to take a look at PostGIS. For web development start with MapServer and OpenLayers.

Would also be worth taking a look at the book Mapping Hacks.

OTHER TIPS

Let's give it a try:

Polylines:

(   0, 100), ( 0,     0), (   0,  50), (  80,  50), (  80,   0), (  80, 100)
( 180, 100), ( 100, 100), ( 100,  50), ( 140,  50), ( 100,  50), ( 100,   0), ( 180,   0)
( 200, 100), ( 200,   0), ( 280,   0)
( 300, 100), ( 300,   0), ( 380,   0)
( 400,  50), ( 440, 100), ( 480,  50), ( 440,   0), ( 400,  50)
( 600, 100), ( 620,   0), ( 640,  50), ( 660,   0), ( 680, 100)
( 700,  50), ( 740, 100), ( 780,  50), ( 740,   0), ( 700,  50)
( 800,   0), ( 800, 100), ( 880,  75), ( 800,  50), ( 880,   0)
( 900, 100), ( 900,   0), ( 980,   0)
(1000,   0), (1000, 100), (1080,  50), (1000,   0)    

If your company has ESRI software I'd recommend getting ArcMap, opening up the VBA editor and copying and pasting a few simple code samples from the help files.

If you don't have desktop software try out http://openlayers.org/ the open source equivalent of Google Maps. It has a nice API and samples.

I'd say the equivalent of "Hello World" in GIS is clicking on a map and popping up a message box with the latitude and longtitude of the click.

Are you interesting in desktop based GIS development or web based?

ESRI is the leader in this space. www.esri.com poke around on their site.

The Resources section of the website has lots of information. You can play around with the JavaScript API on the site and use data that they host to play with. There are several getting started sections and walk throughs here.

http://resources.esri.com/gateway/index.cfm

Here is a link to the JavaScript API resource site http://resources.esri.com/arcgisserver/apis/javascript/arcgis/index.cfm?fa=home

You can download ArcExplorer and work with that. I think it is customizable. You can view shapefiles and geodatabases with it. http://resources.esri.com/arcgisexplorer/900/index.cfm?fa=home

Rectangular <-> geographic coordinate transformation

I feel like sooner or later every generalist GIS developer has to do project coordinates on their own, for whatever reason. Given a latitude, longitude pair and a bitmap image representing the surface of the Earth (or a part of it), locate the geographic coordinates in the image - or vice-versa, get the geographic coordinates for a particular pixel in the image. The Lambert cylindrical projection is probably the easiest place to start, since the math is comparatively simple and equal-area projections are all the rage these days, but the spherical Mercator projection is not much harder and still in common use, especially on the web.

After this you can go in many different directions - some projections involve more complex math, or you can keep using simpler mathematical models but complicate the shape of the Earth (It's an ellipsoid! No, it's a potato!), affine and perspective transformations, or all sorts of other great stuff. But ultimately, GIS is about coordinates, and you often have to make different coordinates talk to each other, so I think that's a good place to start.

ESRI Their tools are definitely not cheap, but they are widely used. They do have good learning resources and tutorial materials, although many do assume you already have their products.

Try out http://code.google.com/p/tf-net/ (Topology Framework .NET) and browse through the introductory topics. Though it's .NET oriented, it may give you a glimpse into basic GIS tasks:

  • Spatial predicates (based on the DE-9IM model)
  • Overlay functions (intersection, difference, union, symmetric difference)
  • Buffer
  • Convex hull
  • Area and distance functions
  • Topological validity checking
  • Coordinate systems manipulation (transformations)
  • Topological graphs manipulation
  • Generic geometry I/O support: WKT, WKB, GML, SHP ...
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top