Changes between Version 62 and Version 63 of SummerOfCode


Ignore:
Timestamp:
Feb 17, 2015, 6:00:20 PM (9 years ago)
Author:
Robert Coup
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode

    v62 v63  
    106106Possible mentor/co-mentor: Trent Hare (thare at usgs.gov) and Jay Laura (also usgs)
    107107
     108'''4. Tool(s) for performance profiling and option tuning'''
     109
     110Some [http://trac.osgeo.org/gdal/wiki/ConfigOptions GDAL options] can have enormous effects on the performance of some
     111operations, depending on dataset size/complexity/source and all sorts of
     112other factors. I'm imagining a tuning tool that looks at which
     113caches/limits are being "hit" (or not) during an operation (eg. a specific
     114gdalwarp), where time is being spent (IO, CPU, ...) and suggest better
     115settings for your datasets & host configuration. Maybe this could be
     116expanded in future to select better "defaults" automatically. I'm thinking
     117settings like: `GDAL_MAX_DATASET_POOL_SIZE`, `GDAL_CACHEMAX`, `GDAL_SWATH_SIZE`,
     118`VSI_CACHE`, `GDAL_DISABLE_READDIR_ON_OPEN`, `OSM_MAX_TMPFILE_SIZE`, warp
     119memory/threading/options, and possibly per-format options -- for GTiff
     120things like tiling, interleaving, overviews, `GTIFF_VIRTUAL_MEM_IO`,
     121`GTIFF_DIRECT_IO`. Creating a structure that future measurements and options can fit into
     122in future will be an important design issue, and this project will require digging deep
     123into the implementations of various settings & caches used by GDAL.
     124
     125In terms of reporting possibly something along the lines of MySQLTuner ([https://www.thomas-krenn.com/en/wiki/MySQL_Performance_Tuning example output]). Maybe
     126invocation like `gdalwarp --tune ...` but would also be good if usage via
     127library/bindings could be profiled in the same way and the output dumped
     128somewhere for later analysis/reporting (eg. `gdaltune my_warp.gdaltune`).
     129
     130Skills:
     131  * programming skills needed - C/C++
     132  * difficulty level - hard
     133
     134Possible mentor/co-mentor: Robert Coup (robert.coup at koordinates.com)
     135
     136'''5. Promoting VSI'''
     137
     138The virtual filesystem (VSI) functionality in GDAL ([http://trac.osgeo.org/gdal/wiki/UserDocs/ReadInZip vsizip, vsicurl], [http://erouault.blogspot.co.nz/2012/05/new-gdal-virtual-file-system-to-read.html vsimem, vsisubfile], etc)
     139is pretty cool, and is useful for a lot of things
     140outside GDAL. Look at whether an external project could
     141be a better place for it to live (even if it's just a separate
     142build/packaging from code that continues to live in GDAL) -- adding tests &
     143CI, looking at cross-platform issues, documenting `vsi_preload.so`, making a
     144library other apps could utilise for the functionality (libvsi?), and possibly
     145creating a FUSE implementation that maps onto the VSI code (ala. `mount -t
     146vsi /vsizip/vsicurl/http://example.com/foo.zip foo/`).
     147
     148Skills:
     149  * programming skills needed - C/C++
     150  * experience with build, test, CI, packaging tools
     151  * difficulty level - moderate
     152
     153Possible mentor/co-mentor: Robert Coup (robert.coup at koordinates.com)
     154
     155'''6. OpenFileGDB Write support'''
     156
     157The existing [http://www.gdal.org/drv_openfilegdb.html OpenFileGDB] driver doesn't implement writing, but is more
     158stable for reading than the [http://www.gdal.org/drv_filegdb.html proprietary ESRI driver] in most cases.
     159
     160This project would aim to add some level of write support to the OpenFileGDB
     161driver. The primary goal would be so it can create files that the OpenFileGDB
     162driver can read again, and the secondary goal would be to improve compatibility
     163so that ArcGIS itself can read the files.
     164As Even describes it, [http://erouault.blogspot.co.nz/2013/10/filegdb-format-reverse-engineered.html reverse engineering]
     165and black box testing isn't always fun, but it is a great skill to have and
     166there'd be as much software & support & test data as we can get:
     167
     168> Hum, that depends on the perseverance of the student to not give up if some
     169> proprietary software refuse to read its neat generated geodatabase or crashes,
     170> whereas it can be read with the openfilegdb read side ;-)
     171
     172Skills:
     173  * programming skills needed - C/C++
     174  * some experience with reverse engineering of file formats/protocols
     175  * difficulty level - hard
     176
     177Possible mentor/co-mentor: Robert Coup (robert.coup at koordinates.com)
     178
    108179== 2014 Ideas List ==
    109180'''1. Automatic Geo-referencer'''[[BR]]