GDALDWG SoC 2016
Revision as of 02:33, 3 May 2016 by Wiki-Sandyre (talk | contribs)
Implementation of ODA DWG files Specification, which will allow to read DWG as a newly supported file-format.
Idea for this project was taken from GDAL SoC Ideas.
Implementation details
Write a new library to read DWG files GitHub libopencad
- Library should be written in an easy-to-extend style, so every DWG version can be handled easily.
- Library should provide a clear API how to interact with it, and an easy method to write OGR Driver based on it.
- Library should has an abstract data model for all DWG/DXF files of any version (so, DXF format also could be added to the library).
GDAL Driver
Implement a new DWG driver for OGR, which will work with libopencad.
Possible future extension (not necessarily part of SoC project)
- Support for writing ability - creating CAD files is more complicated than reading, but with good library/driver architecture it will be possible without any painful refactoring.
- Not all DWG format versions will be handled during GSoC, so working with them will also be a good extension.
Schedule
- May 28: Reading of DWG R15, basic documentation of libopencad
- June 20: Implementation of OGR Driver for reading DWG R15.
- July 8: OGR DWG Driver documentation and testing.
- July 22: Implement DWG R13, R14, bug fixes and testing.
- August 18: Completed documentation for libopencad and OGR DWG Driver, PR to GDAL Trunk.
What new functionality this project brings
- A lot of GIS Applications are based on GDAL, so adding a new supported extension will give a capability to work with Autodesk DWG files, which is the most popular CAD format in the world[1].
- There is no open-source library which is still maintained and is under X/MIT compatible license. libopencad will be under X/MIT license, so every application which is interested in DWG files can use it.
Student's Biography
My name is Alexandr Borzykh, I am second-year undergraduate student at ITMO University.
I am pretty new to OpenSource projects. I like C/C++ languages, have some experience with Python.