This question has been converted to Community Wiki and wiki locked
because it is an example of a question that seeks a list of answers
and appears to be popular enough to protect it from closure. It
should be treated as a special case and should not be viewed as the
type of question that is encouraged on this, or any Stack Exchange
site, but if ...
QGIS. Although I do most of my analysis using ESRI based tools, QGIS is extremely fast for quickly examining a shapefile, and zooming/panning/reading the attributes.
I don't mean this in a derogatory way, as QGIS is also a wonderful open-source desktop GIS; but for quick file opening/closing it's wonderful and the quickest I've found.
To store the data, the first two alternatives to mention are PostGIS and SpatiaLite.
SpatiaLite is a SQLite database with spatial capabilities which
means it is file based, compact, and fast.
PostGIS is spatial capabilities on a PostgreSQL database. That
means it is very powerful with capacity to handle large data sets,
complex queries in a efficient way.
Fiddler is excellent.
Suppose I'm looking at a Web App, like Esri's Redistricting Online ...
... and I become curious about the mapservices it uses. I can fire up Fiddler and see what Urls it is accessing.
I can right click and copy the url and paste into a web browser, since we're dealing with REST ...
Benjamin already mentioned SAGA GIS, but just the name so I would like to add more info about this excellent SW:
SAGA (System for Automated Geoscientific Analyses)
SAGA is also free and opensource like QGIS, but it is focused on raster data analysis and processing.
The standard modules are:
File access: interfaces to various table, vector, image and grid ...
In the geospatial world a directory ending in .gdb is usually the Esri File Geodatabase Format, which has an open API which many 3rd party programs can read -- gdal/ogr, fme, and GlobalMapper to name the ones I'm familiar with. Gdal/ogr is open source and is included in many other applications like QGIS and SAGA.
Windows end users can most easily get the ...
JTS Topology Suite, particularly JTS TestBuider (for Windows users, make a Shortcut to C:\Program Files\JTS\jts-1.11\bin\testbuilder.bat).
With JTS TestBuilder, you can copy/paste WKT or WKB into the geometry inputs, and debug a geometry (especially if it is invalid and you want to know why) or explore spatial functions and spatial predicate operators, etc. ...
Most methods to spline sequences of numbers will spline polygons. The trick is to make the splines "close up" smoothly at the endpoints. To do this, "wrap" the vertices around the ends. Then spline the x- and y-coordinates separately.
Here is a working example in R. It uses the default cubic spline procedure available in the basic statistics package. ...
Firebug for Firefox
Inspect HTML and modify style and layout in real-time .
Accurately analyze network usage and performance.
Extend Firebug and add features to make Firebug even more powerful.
Like it as you can edit webpages online and see the changes ...
OSGeo is an umbrella organisation (Foundation) that supports many Open Source GIS Projects. Some of the more well known ones are: QGIS, GeoServer, and OpenLayers.
Being part of OSGeo gives a project some support, through assistance with governance, and potentially funding. But it also gives a project some legitimacy and assurance. Being part of ...
For statistical analysis, there is R. An integration of R with ArcGIS provides the Geospatial Modelling Environment. Using the right libraries you can easily handle shapefiles and raster data in R
RStudio is a powerful IDE with debugging and improved data handling for R.
I've designed Fiona (an OGR wrapper) to make this kind of processing simple.
from fiona import collection
log = logging.getLogger()
# A few functions to shift coords. They call eachother semi-recursively.
def shiftCoords_Point(coords, delta):
# delta is a (delta_x, delta_y [, delta_y]) tuple
return tuple(c + d for c, d in zip(coords,...
To start with I'd throw out the whole open-source vs proprietary premise and look at it in terms of "does Tool A accomplish what we need in a better way than the Tool B we are using now?"
Then follow up with demonstrations and tangible examples of where the tool you are suggesting as an alternative gives better results, or comes at cheaper acquisition price,...
Eclipse and PyDev for Python coding - the latest version
(finally) allows you to run a script without it being in the project,
and has some other great features as well (break on exception etc.). That and the almost unlimited other number of extensions that you can install in Eclipse.
Git for version control. Free, easy, and you don't need to install any ...
There are a few good ones around:
All with the bonus of being able to be used though the QGIS interface using the SEXTANTE plugin like so http://blog.orfeo-toolbox.org/uncategorized/otb-inside-sextante-inside-qgis
I'm pretty much done with my port of JTS which is a pure JS port and it's available at https://github.com/bjornharrtell/jsts
At the current version (0.9.1) it supports the core functionality of JTS by which I mean predicates and overlays.
Nicklas has already pointed out the most popular open source packages. If you are interested in a closer coupling of desktop and server GIS, you might want to have a closer look at QGIS.
Similar to the setup you described for ArcGIS, there is such a setup for QGIS:
PostGIS for data storage
QGIS Desktop to edit the data and create the map document
Using JEQL This can be done with three lines:
ShapefileReader t file: "shapefile.shp";
out = select * except (GEOMETRY), Geom.translate(GEOMETRY,100,100) from t;
ShapefileWriter out file: "ahapefile_shift.shp";
" ability to take a point cloud that has no color information on it, and overlay it into an orthophoto to produce a colorized point cloud"
Add-on to ArcGIS
LP360 for ArcGIS™ (Basic, Standard and Advanced)
The best answer to this is no, unfortunately.
I've looked fairly long for a perfect mobile data collection app, and would definitely prefer a web-based one for administration.
As @flippinGeo says, ODK is great. But it is not an integrated product (i.e., forms are set up in one area, aggregation is done in another, and the app is Android only). It ...
gdal_translate will work using the -srcwin or -projwin options.
-srcwin xoff yoff xsize ysize:
Selects a subwindow from the source image for copying based on pixel/line location.
-projwin ulx uly lrx lry: Selects a subwindow from the source image
for copying (like -srcwin) but with the corners given in georeferenced
You would need ...
As @user890 says, this very much depends on how the data will be used. Mainly there are two ways you could access the data:
By loading it all into memory in one go and then access/query the data in-memory.
By querying for specific features, bounding boxes etc.
Formats like GeoJSON and KML are best suited for cases when you want to load everything in one go....
The Gdal command line tools are quite useful.
ogr2ogr to convert files.
Sometimes I also use the xpath tool (provided with the gnome libxml2 library) to inspect xml/xsd/kml files:
cat my-insanely-complex-xml-file.xml | xpath "//Placename/text()"
You get the idea.
There is OWSLib which should provide exactly what you need.
OWSLib is a Python package for client programming with Open Geospatial Consortium (OGC)
web service (hence OWS) interface standards, and their related content models.
OWSLib provides a common API for accessing service metadata and
wrappers for numerous OGC Web Service interfaces.