== Introduce Triangulated Surface, Polyhedral Surface and Triangle API in the OGRGeometry core and implement their support in OGR drivers for GDAL == == Short description == Introduce Triangulated Surface, Polyhedral Surface and Triangle API in the OGRGeometry core and implement their support in OGR drivers for GDAL == Abstract == The current OGR core doesn't include three geometries according to OGC standards - Triangular Irregular Networks, Polyhedral Surfaces and Triangles. The work done addresses the addition of the same in OGR core as well as the introduction of support in existing OGR drivers for these geometries. == Motivation == As of now, the OGRGeometry class [the base class from which all the subtypes are derived] is limited to OGRCompoundCurve, OGRCircularString, OGRLinearRing, OGRMultiLineString, OGRMultiPoint, OGRMultiPolygon, OGRMultiCurve, OGRSimpleCurve, OGRCurvePolygon and OGRPolygon. According to the standard mentioned by OGC 06-103r4, OGR still lacks proper implementation for a PolyhedralSurface, Triangle and TriangulatedSurface. This is correspondingly reflected in drivers provided by OGR. Another aspect of implementing a suitable API for the said geometries in the core is that it will help OGR progress further in the introduction of drivers, such as CityGML which heavily utilise such network based geometries. Proper implementation of OGR's 3D geometries would also bring closer interoperability with PostGIS-based 3D functions. == Plan & Timeline == The detailed timeline is as follows - || Start Date || End Date || Task || || 23 May, 2016 || 30 May, 2016 || Begin work on the implementation of OGRTriangle || || 31 May, 2016 || 6 June, 2016 || Complete API of OGRTriangle; construct a SWIG binding; test with ogrtest/gdaltest || || 7 June, 2016 || 13 June, 2016 || Begin work on the implementation of OGRPolyhedralSurface || || 14 June, 2016 || 20 June, 2016 || Finish API of OGRPolyhedralSurface; build a SWIG binding and write tests || || 21 June, 2016 || 27 June, 2016 || Begin work on the implementation of OGRTriangulatedSurface || || 28 June, 2016 || 4 July, 2016 || Complete API of OGRTriangulatedSurface; construct SWIG bindings; pass tests || || 5 July, 2016 || 11 July, 2016 || Research further, modify and re-write Shapefile || || 12 July, 2016 || 18 July, 2016 || Research further, modify and re-write PostGIS || || 19 July, 2016 || 25 July, 2016 || Research further, modify and re-write DXF || || 26 July, 2016 || 1 August, 2016 || Research further, modify and re-write GML || || 2 August, 2016 || 8 August, 2016 || Clean up, start testing drivers || || 9 August, 2016 || 15 August, 2016 || Finish the testing of drivers and move on to documentation || || 16 August, 2016 || 23 August, 2016 || Finish documentation and make a RFC || == Project progress == '''All progress made can be viewed there:''' Github: ​https://github.com/avyavkumar/gdal Blog: ​https://github.com/avyavkumar/gdal/wiki