/*! \mainpage OGR Simple Feature Library The OGR Simple Features Library is a C++ open source library (and commandline tools) providing read (and sometimes write) access to a variety of vector file formats including ESRI Shapefiles, S-57, SDTS, PostGIS, Oracle Spatial, and Mapinfo mid/mif and TAB formats.

OGR is a part of the GDAL library.

Resources

Download

Ready to Use Executables

The best way to get OGR utilities in ready-to-use form is to download the latest OpenEV_FW kit for your platform. While large, these include builds of the OGR utilities with lots of optional components built-in. Once downloaded follow the included instructions to setup your path and other environment variables correctly, and then you can use the various OGR utilities from the command line. The kits also include OpenEV, a viewer that will display OGR vector files.

Source

The source code for this effort is intended to be available as OpenSource using an X Consortium style license. The OGR library is currently a loosely coupled subcomponent of the GDAL library, so you get all of GDAL for the price of OGR, though you can build and use just the OGR components. See the GDAL page for the most recently released source including nightly CVS snapshots. It can also be pulled directly from CVS, or browsed on the web.

To build the source consult the OGR Building instructions.

Bug Reporting

OGR bugs can be entered, and can be listed using BugZilla.

Mailing List

The gdal-dev@remotesensing.org mailing list can be used for discussion of development and user issues related to OGR and related technologies. Subscriptions can be done, and archives reviewed on the web.

A separate list, sfcom-dev@yahoogroups.com is maintained primarily for discussion of issues related to implementing Simple Features for COM and the OGC Simple Features OLE DB provider.

Alternative Bindings for the OGR API

In addition to the C++ API primarily addressed in the online documentation, there is also a slightly less complete C API implemented on top of the C++ API, and access available from Python.

The C API is primarily intended to provide a less fragile API since slight changes in the C++ API (such as const correctness changes) can cause changes in method and class signatures that prevent use of new DLLs with older clients. The C API is also generally easy to call from other languages which allow call out to DLLs functions, such as Visual Basic, or Delphi. The API can be explored in the ogr_api.h include file. A small sample program demonstrates use of the C API.

The Python API isn't really well documented at this time, but parallels the C/C++ APIs. The interface classes can be browsed in the ogr.py (simple features) and osr.py (coordinate systems) python modules. The assemblepoly.py sample script is one demonstration of using the python API.

OGR and OpenGIS Simple Features for OLE DB

With the support of SoftMap and Safe Software some associates and I have implemented an OLE DB provider on top of OGR, attempting to adhere to the OpenGIS Simple Features for COM specification to the extent possible. This implementation is not certified as compliant with the OpenGIS specification.

While OGR can be used via the OLE DB interface, it can also just be called directly as a C++ library. OGR attempts to provide an OpenGIS Simple Features inspired terminology and view of datasets even when used in this fashion. Note that there is no OpenGIS specification for a C or C++ interface.

OGR stands for "OGR"... its meaning is irrelevant today. The original name for the lib was "OpenGIS Simple Features Reference Implementation" and that's where OGR comes from. However, since OGR is not fully compliant with the Simple Feature specification and is not approved as a reference implementation of the spec the name was changed to "OGR Simple Features Library" ... and the only meaning of OGR in this name is historical. "OGR" is also the prefix used everywhere in the source of the library for class names, filenames, etc.

Acknowledgements

I would like to thank the following individuals and organizations for their contributions.

*/