63

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. ...


48

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 ...


38

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 ...


37

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. ...


35

OSGeo: 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 ...


33

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.


30

I've designed Fiona (an OGR wrapper) to make this kind of processing simple. from fiona import collection import logging 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,...


28

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,...


25

Hang on surely Rudolph knows where to go. He's been doing it for years.


23

ogr2ogr is part of the Geospatial Data Abstraction Library (GDAL). Get homebrew from http://brew.sh brew install gdal


23

There are a few good ones around: Orfeo Toolbox GRASS SAGA GIS 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


21

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.


21

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 QGIS ...


21

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";


21

Commercial: FME Desktop " 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" http://blog.safe.com/2012/01/beating-lidar-into-submission-with-fme-2012/ LP360 Add-on to ArcGIS http://www.qcoherent.com/products/index.html LP360 for ArcGIS™ (Basic, Standard and Advanced) ...


20

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 ...


18

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 coordinates. You would need ...


18

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....


17

I wonder why MAPNIK has not been mentioned yet. It is also pluged in to QGIS. Very nice tool for easily making astonishing looking maps.


17

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. ...


17

lidR is a great package in R for forestry applications. From the GitHub lidR documentation: R package for Airborne LiDAR Data Manipulation and Visualization for Forestry Applications The lidR package provides functions to read and write .las and .laz files, plot point clouds, compute metrics using an area-based approach, compute digital ...


17

My process has been to install, and find projects/champions to utilize it "under" the radar. Doing small projects that have a high success ratio, and getting others on the same page with you will have huge effects. Also using the software in a non-pressurized environment will help it accomplish success and help you learn to accomplish with it. When you ...


16

You can use the GDAL/OGR python API, the code will be like that: from osgeo import ogr shapefile = ogr.Open( "shapfile.shp",1 ) layer=shapefile.GetLayerByIndex(0) count=layer.GetFeatureCount() for feature in range(count): layer.DeleteFeature(feature)


16

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 ...


16

You can find Mac GDAL downloads here: http://www.kyngchaos.com/software/archive#gdal OGR and the associated utilities (i.e ogr2ogr and ogrinfo) are included with GDAL.


16

Few from my side, mostly out of ESRI world: CARTODB MapBox OPENGEO Linfiniti Geo Blog Smathermather's Weblog GISTUTOR Open Source Computing and GIS in the UK Google Geo Developers


16

Often it is good to address the need that is stated rather than answering the question that was asked. I would like only to point out that there is a well-known parallel solution that neatly circumvents all the technical computing issues: Santa has helpers. These agents work asynchronously and independently to identify the houses that need visits and carry ...


15

My solution, based on the one from @wwnick reads the raster dimensions from the file itself, and covers the whole image by making the edge tiles smaller if needed: import os, sys from osgeo import gdal dset = gdal.Open(sys.argv[1]) width = dset.RasterXSize height = dset.RasterYSize print width, 'x', height tilesize = 5000 for i in range(0, width, ...


15

I disagree that there are only two options in the GIS industry on a number of levels. The first is that there are many other well established commercial GIS offerings other than ESRI SmallWorld, Bentley, AutoDesk, ERDAS, MapInfo, Integraph and Idrisi spring to mind without thinking too hard. You say they have a market share "well below" ESRI. ESRI ...


15

Change detection is a common operation/module in remote sensing packages like ENVI or Orfeo toolbox. It usually involves raster data (satellite images for example). How is the comparison done? With what tools? I feel that the description is not complete. Or something is missing. Change detection is done by comparing two raster images that were taken at ...


Only top voted, non community-wiki answers of a minimum length are eligible