Open Source equivalent to Collector for ArcGIS to use with QGIS/PostGIS?

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 you wish to contribute more content to it then feel free to do so by editing this answer.


ODK

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 works fantastically, though, and we use it at work and it is simple and fast to use. We host it on Google's AppEngine and it costs basically nothing, even storing a few thousand photos. I get it to push data to a fusion table that can then be visualised with Leaflet, see: http://maps.gcc.tas.gov.au/graffiti.html.

Fulcrum

I'm currently messing around with Fulcrum, which is not open-source, but is a nice SaaS product that is reasonably cheap and has a really nice web interface. I don't like their API, though (admittedly I haven't tried very hard).

QField

There is also QField for QGIS which is QGIS with a simplified interface for touch interaction. It supports constraints defined in QGIS projects, forms defined in QGIS projects and a wide variety of on- and offline data providers. Among them PostGIS and GeoPackage. Synchronisation with an offline copy of a database has to be done manually as a preparation step on a desktop computer with QGIS but a QGIS plugin QFieldSync is available to ease the job. Unfortunately it is only possible to use it on Android so far, it would be easy to port it to Windows and probably possible to port it to iOS as well.

Configurability

What ESRI does well is that if you have a geodatabase set up with a feature domain, then you publish that table to ArcGIS Online, then use Collector, all your forms are created automatically. If you need further manipulate the data after submission using programming, you can use the ArcGIS API for Python to get data in and out of AGOL.

QGIS for Android

The other answer to this question was to suggest QGIS for android, but I think that is too big for what you want to do. I think a minimal interface, with almost no spatial content on the collection side is best, which is what makes ODK so nice. It collects a point, which is enough, and the accuracy of the point, which is important, but it doesn't put it all on a big, full map interface, which is also really important for the folks collecting information, because they are NOT GIS FOLKS!

Input

Input is a free and open source mobile app based on QGIS. It is available for iOS and Android. Input comes with built-in synchronisation function which allows users to upload/download their changes when there is a network connection. Input data and project preparation is done in QGIS, therefore, all file formats supported in QGIS can be loaded in Input.


NextGIS Mobile, native Mobile GIS for Android - http://nextgis.com/nextgis-mobile

Offline editing - check.

Syncronization - check.

Caching raster tiles - check.

Connects with web-server instance (NextGIS Web) to upload/download data - check.

Lots of other things such as customizable forms, adding TMS etc:

  • http://nextgis.com/blog/ngm-2-2/
  • http://nextgis.com/blog/nextgis-mobile-released/

While not technically an answer to your question, "Does an Open Source equivalent ... exist?," this is a basis for a solution.

The OGC is working on a new spec for a storage container, being voted on right now (by January 2014), with these types of workflows, especially mobile, in mind: GeoPackage.

It is similar to and originally based upon Spatialite, a flat-file portable, cross-platform spatial database. Once/if the spec is finalized, incorporation into QGIS will more than likely happen quickly, possibly for version 2.4, since there is already preliminary support via GDAL/OGR, a core spatial provider in QGIS.

You can play with the format now, with preliminary support via the toolsets listed on the OGC GeoPackage site. In addition to those, there is newly updated support in libspatialite itself, which can be compiled for iOS and Android, and via Homebrew project for Mac using the libspatialite formula (use --HEAD option).

The new lispatialite can now more easily be loaded into SQLite as an extension, via whatever language binding you need.

If you have the means, consider helping fund the development of such a solution coupled to the QGIS Web Client or other OpenLayers-based client.