Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-04-03 Thread Etienne Tourigny
On Tue, Apr 1, 2014 at 5:57 PM, Kyle Shannon k...@pobox.com wrote:

 On Tue, Apr 1, 2014 at 12:36 PM, Etienne Tourigny
 etourigny@gmail.com wrote:
  The 2 objections I have with json are :
 
  - it is so verbose that editing by hand is not as easy as .csv
  - the xml tags make file size much larger than .csv files, unless they
 would
  be stored in a compressed file (gzip)
 
  On the other hand, who messes with theses files on a regular basis
 anyway?
 
  It seems like a nice idea. In what ways would it be better than Even's
  suggestion to use sqlite?
 
 
  On Mon, Mar 31, 2014 at 4:37 PM, Dmitriy Baryshnikov 
 bishop@gmail.com
  wrote:
 
  Hi,
 
  I think the JSON format is good for metadata storing and representation.
  JSON support to store string, digits, bool, dates, etc. Write such data
 and
  read such data from files.
  But need good library or set of classes to work with it in memory
  representation.
  For example I like  wxJSON - it support to get value by name or iterate
  values by index.
 
  int majorVer = root[wxWidgets][Version][Major].AsInt();
 
 
  root[wxWidgets][Authors][0] = J. Smart;
  root[wxWidgets][Authors][1] = V. Zeitling;
  root[wxWidgets][Authors][2] = R. Roebling;
 
 
  It consist only 3 files (json reader, json writer and json value).
 
  It seems to me that json-c library is more complicated. Unfortunately
  wxJSON cannot be used in GDAL as it have bindings to wxWidgets library,
 but
  the approach is interesting. By the way wxWidgets have more democratic
  license instead of qt.
 
  Best regards,
  Dmitry
 
  31.03.2014 23:03, Even Rouault пишет:
 
  Hi Etienne,
 
  Thanks for your ideas.
 
  Hi all,
 
  I have a few suggestions for gdal 2.0, based on my personal experience
 in
  learning to use, enhance and maintain gdal/ogr code.
 
  - replace cpl/csl/string/xml code with a mainstream, modern
 cross-platform
  toolkit such as QT, boost, etc.
 
  QT is certainly a dependency we wouldn't want to draw. Too big for some
  embededded usage, and it would make GDAL to be practially bound by the
  LGPL.
  I guess standard C++ libraries classes, or perhaps boost, should do the
  job
  for what you mention below.
 
  While cpl/csl classes are robust and do the job, they are not well
  documented and not very intuitive for a new gdal coder. This is from my
  personal experience, some may not agree.
  They are also not used outside gdal, as such do not benefit from
  enhancements as other toolkits.
 
  Well, at least, MapServer uses a few CPL functions : CPL minixml,
  CPLMalloc/CPLFree, CPLReadDir, CPLFormFilename, CPLGetFilename,
  CSLInsertString, etc..
 
  The drawback is that some data/methods would not be easily available in
 c
  and other bindings. Also it might not be available for all platforms.
  Existing code would still be able to use cpl/csl code but be deprecated
  until a given release.
 
 
  - upgrade/migrate gdal support file (files in .csv format such as
 gcs.csv)
  reading to use containers (e.g. hash maps) instead of reading the
 relevant
  .csv files every time
 
  Current reading of gdal support files is sub-optimal as any query for
  support data requires reading the relevant support file(s). It would be
  more efficient to read these once and cache into a container (such as
 hash
  map). This could be done using a cross-platform toolkit mentioned
 earlier.
 
  Another option would be to use a .sqlite database with proper indices.
  SQLite
  would become a runtime requirement, but I don't think that would be a
 big
  problem.
 
  - modify metadata treatment to be able to store/retrieve data in formats
  other than strings (e.g. floats, doubles, boolean), and query the actual
  type of a given metadata item.
 
  Currently there is no way to know if a given metadata item represents an
  integer, float, double (or string).
 
  In the netcdf driver, I overcame this limitation in 2 ways:
  1) parsing the value to test if it is an int, float or double
 (potentially
  error-prone)
  2) add an extra metadata item to specify the type of the data
 represented
  (cumbersome and non-standard)
 
  My suggestion would be to be able to store metadata value along with its
  data type (default string as previously). This would require some kind
 of
  container for internal representation (e.g. in qt: QMapQString,
  QVariant)
  and a way to represent this on file (as .aux.xml or otherwise in files
  that
  support metadata) such as gtiff. Values could be stored as strings to
  avoid
  big/little endian conversion problems. Data type could be stored in a
  (hidden) metadata domain, one item for each real metadata key.
 
  Interesting idea.
 
  Well, we need coders now ;-)
 
  Even
 
 
 
  ___
  gdal-dev mailing list
  gdal-dev@lists.osgeo.org
  http://lists.osgeo.org/mailman/listinfo/gdal-dev
 
 
 
  ___
  gdal-dev mailing list
  gdal-dev@lists.osgeo.org
  

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-04-01 Thread Etienne Tourigny
On Mon, Mar 31, 2014 at 4:03 PM, Even Rouault
even.roua...@mines-paris.orgwrote:

 Hi Etienne,

 Thanks for your ideas.

  Hi all,
 
  I have a few suggestions for gdal 2.0, based on my personal experience in
  learning to use, enhance and maintain gdal/ogr code.
 
  - replace cpl/csl/string/xml code with a mainstream, modern
 cross-platform
  toolkit such as QT, boost, etc.

 QT is certainly a dependency we wouldn't want to draw. Too big for some
 embededded usage, and it would make GDAL to be practially bound by the
 LGPL.
 I guess standard C++ libraries classes, or perhaps boost, should do the job
 for what you mention below.


In light of this QT is not a candidate, but on the other hand standard c++
library classes only deal with containers right?
Are there any cross-platfform, convenience classes? I'm thinking along the
lines of things like file paths, xml and csv file reading/writing support.



 
  While cpl/csl classes are robust and do the job, they are not well
  documented and not very intuitive for a new gdal coder. This is from my
  personal experience, some may not agree.
  They are also not used outside gdal, as such do not benefit from
  enhancements as other toolkits.

 Well, at least, MapServer uses a few CPL functions : CPL minixml,
 CPLMalloc/CPLFree, CPLReadDir, CPLFormFilename, CPLGetFilename,
 CSLInsertString, etc..


I don't know much about MapServer, but it seems that GDAL is an optional
dependency. Could the CPL code be decoupled from GDAL as an external? Would
it make sense or just too much a hassle?



  The drawback is that some data/methods would not be easily available in c
  and other bindings. Also it might not be available for all platforms.
  Existing code would still be able to use cpl/csl code but be deprecated
  until a given release.
 
 
  - upgrade/migrate gdal support file (files in .csv format such as
 gcs.csv)
  reading to use containers (e.g. hash maps) instead of reading the
 relevant
  .csv files every time
 
  Current reading of gdal support files is sub-optimal as any query for
  support data requires reading the relevant support file(s). It would be
  more efficient to read these once and cache into a container (such as
 hash
  map). This could be done using a cross-platform toolkit mentioned
 earlier.

 Another option would be to use a .sqlite database with proper indices.
 SQLite
 would become a runtime requirement, but I don't think that would be a big
 problem.


.sqlite wouls be more compact, but not as easy to edit.



 
 
  - modify metadata treatment to be able to store/retrieve data in formats
  other than strings (e.g. floats, doubles, boolean), and query the actual
  type of a given metadata item.
 
  Currently there is no way to know if a given metadata item represents an
  integer, float, double (or string).
 
  In the netcdf driver, I overcame this limitation in 2 ways:
  1) parsing the value to test if it is an int, float or double
 (potentially
  error-prone)
  2) add an extra metadata item to specify the type of the data represented
  (cumbersome and non-standard)
 
  My suggestion would be to be able to store metadata value along with its
  data type (default string as previously). This would require some kind of
  container for internal representation (e.g. in qt: QMapQString,
 QVariant)
  and a way to represent this on file (as .aux.xml or otherwise in files
 that
  support metadata) such as gtiff. Values could be stored as strings to
 avoid
  big/little endian conversion problems. Data type could be stored in a
  (hidden) metadata domain, one item for each real metadata key.

 Interesting idea.

 Well, we need coders now ;-)

 Even

 --
 Geospatial professional services
 http://even.rouault.free.fr/services.html

___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-04-01 Thread Etienne Tourigny
The 2 objections I have with json are :

- it is so verbose that editing by hand is not as easy as .csv
- the xml tags make file size much larger than .csv files, unless they
would be stored in a compressed file (gzip)

On the other hand, who messes with theses files on a regular basis anyway?

It seems like a nice idea. In what ways would it be better than Even's
suggestion to use sqlite?


On Mon, Mar 31, 2014 at 4:37 PM, Dmitriy Baryshnikov
bishop@gmail.comwrote:

  Hi,

 I think the JSON format is good for metadata storing and representation.
 JSON support to store string, digits, bool, dates, etc. Write such data and
 read such data from files.
 But need good library or set of classes to work with it in memory
 representation.
 For example I like  wxJSON - it support to get value by name or iterate
 values by index.

 int majorVer = root[wxWidgets][Version][Major].AsInt 
 http://wxcode.sourceforge.net/docs/wxjson/classwxJSONValue.html#9223209e7eea4dd4d668869b69560acb();


 root[wxWidgets][Authors][0] = J. Smart;
 root[wxWidgets][Authors][1] = V. Zeitling;
 root[wxWidgets][Authors][2] = R. Roebling;


 It consist only 3 files (json reader, json writer and json value).

 It seems to me that json-c library is more complicated. Unfortunately
 wxJSON cannot be used in GDAL as it have bindings to wxWidgets library, but
 the approach is interesting. By the way wxWidgets have more democratic
 license instead of qt.

 Best regards,
 Dmitry

 31.03.2014 23:03, Even Rouault пишет:

 Hi Etienne,

 Thanks for your ideas.


  Hi all,

 I have a few suggestions for gdal 2.0, based on my personal experience in
 learning to use, enhance and maintain gdal/ogr code.

 - replace cpl/csl/string/xml code with a mainstream, modern cross-platform
 toolkit such as QT, boost, etc.

  QT is certainly a dependency we wouldn't want to draw. Too big for some
 embededded usage, and it would make GDAL to be practially bound by the LGPL.
 I guess standard C++ libraries classes, or perhaps boost, should do the job
 for what you mention below.


  While cpl/csl classes are robust and do the job, they are not well
 documented and not very intuitive for a new gdal coder. This is from my
 personal experience, some may not agree.
 They are also not used outside gdal, as such do not benefit from
 enhancements as other toolkits.

  Well, at least, MapServer uses a few CPL functions : CPL minixml,
 CPLMalloc/CPLFree, CPLReadDir, CPLFormFilename, CPLGetFilename,
 CSLInsertString, etc..


  The drawback is that some data/methods would not be easily available in c
 and other bindings. Also it might not be available for all platforms.
 Existing code would still be able to use cpl/csl code but be deprecated
 until a given release.


 - upgrade/migrate gdal support file (files in .csv format such as gcs.csv)
 reading to use containers (e.g. hash maps) instead of reading the relevant
 .csv files every time

 Current reading of gdal support files is sub-optimal as any query for
 support data requires reading the relevant support file(s). It would be
 more efficient to read these once and cache into a container (such as hash
 map). This could be done using a cross-platform toolkit mentioned earlier.

  Another option would be to use a .sqlite database with proper indices. SQLite
 would become a runtime requirement, but I don't think that would be a big
 problem.



 - modify metadata treatment to be able to store/retrieve data in formats
 other than strings (e.g. floats, doubles, boolean), and query the actual
 type of a given metadata item.

 Currently there is no way to know if a given metadata item represents an
 integer, float, double (or string).

 In the netcdf driver, I overcame this limitation in 2 ways:
 1) parsing the value to test if it is an int, float or double (potentially
 error-prone)
 2) add an extra metadata item to specify the type of the data represented
 (cumbersome and non-standard)

 My suggestion would be to be able to store metadata value along with its
 data type (default string as previously). This would require some kind of
 container for internal representation (e.g. in qt: QMapQString, QVariant)
 and a way to represent this on file (as .aux.xml or otherwise in files that
 support metadata) such as gtiff. Values could be stored as strings to avoid
 big/little endian conversion problems. Data type could be stored in a
 (hidden) metadata domain, one item for each real metadata key.

  Interesting idea.

 Well, we need coders now ;-)

 Even




 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev

___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-04-01 Thread Kyle Shannon
On Tue, Apr 1, 2014 at 12:36 PM, Etienne Tourigny
etourigny@gmail.com wrote:
 The 2 objections I have with json are :

 - it is so verbose that editing by hand is not as easy as .csv
 - the xml tags make file size much larger than .csv files, unless they would
 be stored in a compressed file (gzip)

 On the other hand, who messes with theses files on a regular basis anyway?

 It seems like a nice idea. In what ways would it be better than Even's
 suggestion to use sqlite?


 On Mon, Mar 31, 2014 at 4:37 PM, Dmitriy Baryshnikov bishop@gmail.com
 wrote:

 Hi,

 I think the JSON format is good for metadata storing and representation.
 JSON support to store string, digits, bool, dates, etc. Write such data and
 read such data from files.
 But need good library or set of classes to work with it in memory
 representation.
 For example I like  wxJSON - it support to get value by name or iterate
 values by index.

 int majorVer = root[wxWidgets][Version][Major].AsInt();


 root[wxWidgets][Authors][0] = J. Smart;
 root[wxWidgets][Authors][1] = V. Zeitling;
 root[wxWidgets][Authors][2] = R. Roebling;


 It consist only 3 files (json reader, json writer and json value).

 It seems to me that json-c library is more complicated. Unfortunately
 wxJSON cannot be used in GDAL as it have bindings to wxWidgets library, but
 the approach is interesting. By the way wxWidgets have more democratic
 license instead of qt.

 Best regards,
 Dmitry

 31.03.2014 23:03, Even Rouault пишет:

 Hi Etienne,

 Thanks for your ideas.

 Hi all,

 I have a few suggestions for gdal 2.0, based on my personal experience in
 learning to use, enhance and maintain gdal/ogr code.

 - replace cpl/csl/string/xml code with a mainstream, modern cross-platform
 toolkit such as QT, boost, etc.

 QT is certainly a dependency we wouldn't want to draw. Too big for some
 embededded usage, and it would make GDAL to be practially bound by the
 LGPL.
 I guess standard C++ libraries classes, or perhaps boost, should do the
 job
 for what you mention below.

 While cpl/csl classes are robust and do the job, they are not well
 documented and not very intuitive for a new gdal coder. This is from my
 personal experience, some may not agree.
 They are also not used outside gdal, as such do not benefit from
 enhancements as other toolkits.

 Well, at least, MapServer uses a few CPL functions : CPL minixml,
 CPLMalloc/CPLFree, CPLReadDir, CPLFormFilename, CPLGetFilename,
 CSLInsertString, etc..

 The drawback is that some data/methods would not be easily available in c
 and other bindings. Also it might not be available for all platforms.
 Existing code would still be able to use cpl/csl code but be deprecated
 until a given release.


 - upgrade/migrate gdal support file (files in .csv format such as gcs.csv)
 reading to use containers (e.g. hash maps) instead of reading the relevant
 .csv files every time

 Current reading of gdal support files is sub-optimal as any query for
 support data requires reading the relevant support file(s). It would be
 more efficient to read these once and cache into a container (such as hash
 map). This could be done using a cross-platform toolkit mentioned earlier.

 Another option would be to use a .sqlite database with proper indices.
 SQLite
 would become a runtime requirement, but I don't think that would be a big
 problem.

 - modify metadata treatment to be able to store/retrieve data in formats
 other than strings (e.g. floats, doubles, boolean), and query the actual
 type of a given metadata item.

 Currently there is no way to know if a given metadata item represents an
 integer, float, double (or string).

 In the netcdf driver, I overcame this limitation in 2 ways:
 1) parsing the value to test if it is an int, float or double (potentially
 error-prone)
 2) add an extra metadata item to specify the type of the data represented
 (cumbersome and non-standard)

 My suggestion would be to be able to store metadata value along with its
 data type (default string as previously). This would require some kind of
 container for internal representation (e.g. in qt: QMapQString,
 QVariant)
 and a way to represent this on file (as .aux.xml or otherwise in files
 that
 support metadata) such as gtiff. Values could be stored as strings to
 avoid
 big/little endian conversion problems. Data type could be stored in a
 (hidden) metadata domain, one item for each real metadata key.

 Interesting idea.

 Well, we need coders now ;-)

 Even



 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev



 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev

What problem are we trying to solve exactly?  Is CPL* thought to be
buggy because it isn't exposed to the wild?  As far as the csv and
support files, is it a performance issue we are trying to 

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-03-31 Thread Etienne Tourigny
Hi all,

I have a few suggestions for gdal 2.0, based on my personal experience in
learning to use, enhance and maintain gdal/ogr code.

- replace cpl/csl/string/xml code with a mainstream, modern cross-platform
toolkit such as QT, boost, etc.

While cpl/csl classes are robust and do the job, they are not well
documented and not very intuitive for a new gdal coder. This is from my
personal experience, some may not agree.
They are also not used outside gdal, as such do not benefit from
enhancements as other toolkits.
The drawback is that some data/methods would not be easily available in c
and other bindings. Also it might not be available for all platforms.
Existing code would still be able to use cpl/csl code but be deprecated
until a given release.


- upgrade/migrate gdal support file (files in .csv format such as gcs.csv)
reading to use containers (e.g. hash maps) instead of reading the relevant
.csv files every time

Current reading of gdal support files is sub-optimal as any query for
support data requires reading the relevant support file(s). It would be
more efficient to read these once and cache into a container (such as hash
map). This could be done using a cross-platform toolkit mentioned earlier.


- modify metadata treatment to be able to store/retrieve data in formats
other than strings (e.g. floats, doubles, boolean), and query the actual
type of a given metadata item.

Currently there is no way to know if a given metadata item represents an
integer, float, double (or string).

In the netcdf driver, I overcame this limitation in 2 ways:
1) parsing the value to test if it is an int, float or double (potentially
error-prone)
2) add an extra metadata item to specify the type of the data represented
(cumbersome and non-standard)

My suggestion would be to be able to store metadata value along with its
data type (default string as previously). This would require some kind of
container for internal representation (e.g. in qt: QMapQString, QVariant)
and a way to represent this on file (as .aux.xml or otherwise in files that
support metadata) such as gtiff. Values could be stored as strings to avoid
big/little endian conversion problems. Data type could be stored in a
(hidden) metadata domain, one item for each real metadata key.


cheers,
Etienne



On Thu, Feb 13, 2014 at 7:14 PM, Even Rouault
even.roua...@mines-paris.orgwrote:

 Hi,

 I've confirmed my presence to the OSGeo Vienna code sprint (
 http://wiki.osgeo.org/wiki/Vienna_Code_Sprint_2014 ). Are there folks that
 will be there and indent doing some work on GDAL ? Any particular topics of
 interest ?

 It could be the opportunity to take a crack at some changes that have been
 mentionned for some time and are listed at
 http://trac.osgeo.org/gdal/wiki/GDAL20Changes

 We should decide how to manage the 2.0 transition. I think that the 2.0
 number
 should be reserved as the opportunity of introducing breaking changes in
 the
 API / ABI. But this might take a long time to implement all that is listed
 above, so there's a risk we end up with a trunk that is never ready for
 release for years. Not a good thing.
 On the other hand, we could just be more modest and take breaking changes
 as
 they are introduced and raise the major version number (so the yearly
 version
 after 2.0 could be 3.0). This will require projects using GDAL to adapt
 multiple times.
 An alternative would be to prepare the API for new features even if they
 are
 not implemented, but that's a difficult exercise and there's a risk that at
 implementation time, the API doesn't fit.
 Any thoughts ?

 Currently we have no such breakage in trunk so it could qualify as GDAL
 1.11.
 Perhaps we should just release it as such for now before the bigger
 changes ?

 Somes topics I can see for GDAL 2.0 that impact API/ABI :
 - well, the mythological unification of OGR driver model with GDAL driver
 model.
 - XYZM support
 - Curve geometries
 - 64 bit integer support

 Other possible structural changes :
 - Change of master version control system: switch to git / GitHub ?
 - New build system : cmake ?

 Of course all of this will more likely happen if contributors or funders
 show
 up !

 Even

 --
 Geospatial professional services
 http://even.rouault.free.fr/services.html
 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev

___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-03-31 Thread Even Rouault
Hi Etienne,

Thanks for your ideas.

 Hi all,
 
 I have a few suggestions for gdal 2.0, based on my personal experience in
 learning to use, enhance and maintain gdal/ogr code.
 
 - replace cpl/csl/string/xml code with a mainstream, modern cross-platform
 toolkit such as QT, boost, etc.

QT is certainly a dependency we wouldn't want to draw. Too big for some 
embededded usage, and it would make GDAL to be practially bound by the LGPL.
I guess standard C++ libraries classes, or perhaps boost, should do the job 
for what you mention below.

 
 While cpl/csl classes are robust and do the job, they are not well
 documented and not very intuitive for a new gdal coder. This is from my
 personal experience, some may not agree.
 They are also not used outside gdal, as such do not benefit from
 enhancements as other toolkits.

Well, at least, MapServer uses a few CPL functions : CPL minixml, 
CPLMalloc/CPLFree, CPLReadDir, CPLFormFilename, CPLGetFilename, 
CSLInsertString, etc..

 The drawback is that some data/methods would not be easily available in c
 and other bindings. Also it might not be available for all platforms.
 Existing code would still be able to use cpl/csl code but be deprecated
 until a given release.
 
 
 - upgrade/migrate gdal support file (files in .csv format such as gcs.csv)
 reading to use containers (e.g. hash maps) instead of reading the relevant
 .csv files every time
 
 Current reading of gdal support files is sub-optimal as any query for
 support data requires reading the relevant support file(s). It would be
 more efficient to read these once and cache into a container (such as hash
 map). This could be done using a cross-platform toolkit mentioned earlier.

Another option would be to use a .sqlite database with proper indices. SQLite 
would become a runtime requirement, but I don't think that would be a big 
problem.

 
 
 - modify metadata treatment to be able to store/retrieve data in formats
 other than strings (e.g. floats, doubles, boolean), and query the actual
 type of a given metadata item.
 
 Currently there is no way to know if a given metadata item represents an
 integer, float, double (or string).
 
 In the netcdf driver, I overcame this limitation in 2 ways:
 1) parsing the value to test if it is an int, float or double (potentially
 error-prone)
 2) add an extra metadata item to specify the type of the data represented
 (cumbersome and non-standard)
 
 My suggestion would be to be able to store metadata value along with its
 data type (default string as previously). This would require some kind of
 container for internal representation (e.g. in qt: QMapQString, QVariant)
 and a way to represent this on file (as .aux.xml or otherwise in files that
 support metadata) such as gtiff. Values could be stored as strings to avoid
 big/little endian conversion problems. Data type could be stored in a
 (hidden) metadata domain, one item for each real metadata key.

Interesting idea.

Well, we need coders now ;-)

Even

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-03-31 Thread Mateusz Łoskot
On 31 March 2014 20:17, Etienne Tourigny etourigny@gmail.com wrote:

 I have a few suggestions for gdal 2.0, based on my personal experience in
 learning to use, enhance and maintain gdal/ogr code.

 - replace cpl/csl/string/xml code with a mainstream, modern cross-platform
 toolkit such as QT, boost, etc.

IMHO, there is no need to look that far, at Qt or Boost.
There is plenty of features in C++, some features of C++11 could be
conditionally-enabled as well.

Replacing some of the homegrown utilities with C++ std would make things
slightly better in terms of API discoverability, self-documented,
easier to use, ...
https://trac.osgeo.org/gdal/ticket/1629

Best regards,
-- 
Mateusz  Łoskot, http://mateusz.loskot.net
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-03-31 Thread Dmitriy Baryshnikov

Hi,

I think the JSON format is good for metadata storing and representation. 
JSON support to store string, digits, bool, dates, etc. Write such data 
and read such data from files.
But need good library or set of classes to work with it in memory 
representation.
For example I like  wxJSON - it support to get value by name or iterate 
values by index.


int  majorVer = root[wxWidgets][Version][Major].AsInt  
http://wxcode.sourceforge.net/docs/wxjson/classwxJSONValue.html#9223209e7eea4dd4d668869b69560acb();


root[wxWidgets][Authors][0] =J. Smart;
root[wxWidgets][Authors][1] =V. Zeitling;
root[wxWidgets][Authors][2] =R. Roebling;


It consist only 3 files (json reader, json writer and json value).

It seems to me that json-c library is more complicated. Unfortunately  
wxJSON cannot be used in GDAL as it have bindings to wxWidgets library, 
but the approach is interesting. By the way wxWidgets have more 
democratic license instead of qt.


Best regards,
Dmitry

31.03.2014 23:03, Even Rouault ?:

Hi Etienne,

Thanks for your ideas.


Hi all,

I have a few suggestions for gdal 2.0, based on my personal experience in
learning to use, enhance and maintain gdal/ogr code.

- replace cpl/csl/string/xml code with a mainstream, modern cross-platform
toolkit such as QT, boost, etc.

QT is certainly a dependency we wouldn't want to draw. Too big for some
embededded usage, and it would make GDAL to be practially bound by the LGPL.
I guess standard C++ libraries classes, or perhaps boost, should do the job
for what you mention below.


While cpl/csl classes are robust and do the job, they are not well
documented and not very intuitive for a new gdal coder. This is from my
personal experience, some may not agree.
They are also not used outside gdal, as such do not benefit from
enhancements as other toolkits.

Well, at least, MapServer uses a few CPL functions : CPL minixml,
CPLMalloc/CPLFree, CPLReadDir, CPLFormFilename, CPLGetFilename,
CSLInsertString, etc..


The drawback is that some data/methods would not be easily available in c
and other bindings. Also it might not be available for all platforms.
Existing code would still be able to use cpl/csl code but be deprecated
until a given release.


- upgrade/migrate gdal support file (files in .csv format such as gcs.csv)
reading to use containers (e.g. hash maps) instead of reading the relevant
.csv files every time

Current reading of gdal support files is sub-optimal as any query for
support data requires reading the relevant support file(s). It would be
more efficient to read these once and cache into a container (such as hash
map). This could be done using a cross-platform toolkit mentioned earlier.

Another option would be to use a .sqlite database with proper indices. SQLite
would become a runtime requirement, but I don't think that would be a big
problem.



- modify metadata treatment to be able to store/retrieve data in formats
other than strings (e.g. floats, doubles, boolean), and query the actual
type of a given metadata item.

Currently there is no way to know if a given metadata item represents an
integer, float, double (or string).

In the netcdf driver, I overcame this limitation in 2 ways:
1) parsing the value to test if it is an int, float or double (potentially
error-prone)
2) add an extra metadata item to specify the type of the data represented
(cumbersome and non-standard)

My suggestion would be to be able to store metadata value along with its
data type (default string as previously). This would require some kind of
container for internal representation (e.g. in qt: QMapQString, QVariant)
and a way to represent this on file (as .aux.xml or otherwise in files that
support metadata) such as gtiff. Values could be stored as strings to avoid
big/little endian conversion problems. Data type could be stored in a
(hidden) metadata domain, one item for each real metadata key.

Interesting idea.

Well, we need coders now ;-)

Even



___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-03-31 Thread Mateusz Łoskot
On 31 March 2014 21:37, Dmitriy Baryshnikov bishop@gmail.com wrote:
 Hi,

 I think the JSON format is good for metadata storing and representation.
 JSON support to store string, digits, bool, dates, etc.

IMO it's great idea.

 It consist only 3 files (json reader, json writer and json value).

 It seems to me that json-c library is more complicated. Unfortunately
 wxJSON cannot be used in GDAL as it have bindings to wxWidgets library, but
 the approach is interesting. By the way wxWidgets have more democratic
 license instead of qt.

A header-only MIT-licensed rapidjson is worth to check
https://code.google.com/p/rapidjson/

Best regards,
-- 
Mateusz  Łoskot, http://mateusz.loskot.net
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-03-31 Thread Dmitriy Baryshnikov

Hi Mateus,

That's really what I'm talking about. Good example, but need some testing.

Best regards,
Dmitry

31.03.2014 23:44, Mateusz Łoskot пишет:

On 31 March 2014 21:37, Dmitriy Baryshnikov bishop@gmail.com wrote:

Hi,

I think the JSON format is good for metadata storing and representation.
JSON support to store string, digits, bool, dates, etc.

IMO it's great idea.


It consist only 3 files (json reader, json writer and json value).

It seems to me that json-c library is more complicated. Unfortunately
wxJSON cannot be used in GDAL as it have bindings to wxWidgets library, but
the approach is interesting. By the way wxWidgets have more democratic
license instead of qt.

A header-only MIT-licensed rapidjson is worth to check
https://code.google.com/p/rapidjson/

Best regards,


___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-03-31 Thread David Strip
On 3/31/2014 1:03 PM, Even Rouault wrote:
 Hi Etienne,

 Thanks for your ideas.

 Hi all,

 I have a few suggestions for gdal 2.0, based on my personal experience in
 learning to use, enhance and maintain gdal/ogr code.

 - replace cpl/csl/string/xml code with a mainstream, modern cross-platform
 toolkit such as QT, boost, etc.
 QT is certainly a dependency we wouldn't want to draw. Too big for some 
 embededded usage, and it would make GDAL to be practially bound by the LGPL.
 I guess standard C++ libraries classes, or perhaps boost, should do the job 
 for what you mention below.
+1 for the idea of moving to either well-supported toolkits or more
extensive use of the std library or features of C++11

 While cpl/csl classes are robust and do the job, they are not well
 documented and not very intuitive for a new gdal coder. This is from my
 personal experience, some may not agree.
 They are also not used outside gdal, as such do not benefit from
 enhancements as other toolkits.
 Well, at least, MapServer uses a few CPL functions : CPL minixml, 
 CPLMalloc/CPLFree, CPLReadDir, CPLFormFilename, CPLGetFilename, 
 CSLInsertString, etc..
To the extent that these remain necessary, making them a thin wrapper of
whatever standard lib/toolkit is adopted would both improve the
effective documentation, as well as make them compatible with the
library/toolkit (esp memory allocation)


___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-03-31 Thread Even Rouault
Le mardi 01 avril 2014 00:18:11, David Strip a écrit :
 On 3/31/2014 1:03 PM, Even Rouault wrote:
  Hi Etienne,
  
  Thanks for your ideas.
  
  Hi all,
  
  I have a few suggestions for gdal 2.0, based on my personal experience
  in learning to use, enhance and maintain gdal/ogr code.
  
  - replace cpl/csl/string/xml code with a mainstream, modern
  cross-platform toolkit such as QT, boost, etc.
  
  QT is certainly a dependency we wouldn't want to draw. Too big for some
  embededded usage, and it would make GDAL to be practially bound by the
  LGPL. I guess standard C++ libraries classes, or perhaps boost, should
  do the job for what you mention below.
 
 +1 for the idea of moving to either well-supported toolkits or more
 extensive use of the std library or features of C++11
 
  While cpl/csl classes are robust and do the job, they are not well
  documented and not very intuitive for a new gdal coder. This is from my
  personal experience, some may not agree.
  They are also not used outside gdal, as such do not benefit from
  enhancements as other toolkits.
  
  Well, at least, MapServer uses a few CPL functions : CPL minixml,
  CPLMalloc/CPLFree, CPLReadDir, CPLFormFilename, CPLGetFilename,
  CSLInsertString, etc..
 
 To the extent that these remain necessary, making them a thin wrapper of
 whatever standard lib/toolkit is adopted would both improve the
 effective documentation, as well as make them compatible with the
 library/toolkit (esp memory allocation)

Honestly, on that point, the migration cost vs the benefit does not seem 
obvious to me.

 
 
 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-21 Thread Dmitriy Baryshnikov

Hi Even,

I plan to participate in code sprint too and work on GDAL.
In addition to the mentioned tasks I would like to discuss some politics 
and direction to add new functionality to GDAL.


Best regards,
Dmitry

14.02.2014 1:14, Even Rouault пишет:

Hi,

I've confirmed my presence to the OSGeo Vienna code sprint (
http://wiki.osgeo.org/wiki/Vienna_Code_Sprint_2014 ). Are there folks that
will be there and indent doing some work on GDAL ? Any particular topics of
interest ?

It could be the opportunity to take a crack at some changes that have been
mentionned for some time and are listed at
http://trac.osgeo.org/gdal/wiki/GDAL20Changes

We should decide how to manage the 2.0 transition. I think that the 2.0 number
should be reserved as the opportunity of introducing breaking changes in the
API / ABI. But this might take a long time to implement all that is listed
above, so there's a risk we end up with a trunk that is never ready for
release for years. Not a good thing.
On the other hand, we could just be more modest and take breaking changes as
they are introduced and raise the major version number (so the yearly version
after 2.0 could be 3.0). This will require projects using GDAL to adapt
multiple times.
An alternative would be to prepare the API for new features even if they are
not implemented, but that's a difficult exercise and there's a risk that at
implementation time, the API doesn't fit.
Any thoughts ?

Currently we have no such breakage in trunk so it could qualify as GDAL 1.11.
Perhaps we should just release it as such for now before the bigger changes ?

Somes topics I can see for GDAL 2.0 that impact API/ABI :
- well, the mythological unification of OGR driver model with GDAL driver
model.
- XYZM support
- Curve geometries
- 64 bit integer support

Other possible structural changes :
- Change of master version control system: switch to git / GitHub ?
- New build system : cmake ?

Of course all of this will more likely happen if contributors or funders show
up !

Even



___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-21 Thread Even Rouault
Selon Dmitriy Baryshnikov bishop@gmail.com:

 Hi Even,

 I plan to participate in code sprint too and work on GDAL.
 In addition to the mentioned tasks I would like to discuss some politics
 and direction to add new functionality to GDAL.

Great, perhaps you can share some of your thoughts ahead of time ?


 Best regards,
  Dmitry

 14.02.2014 1:14, Even Rouault пОшет:
  Hi,
 
  I've confirmed my presence to the OSGeo Vienna code sprint (
  http://wiki.osgeo.org/wiki/Vienna_Code_Sprint_2014 ). Are there folks that
  will be there and indent doing some work on GDAL ? Any particular topics of
  interest ?
 
  It could be the opportunity to take a crack at some changes that have been
  mentionned for some time and are listed at
  http://trac.osgeo.org/gdal/wiki/GDAL20Changes
 
  We should decide how to manage the 2.0 transition. I think that the 2.0
 number
  should be reserved as the opportunity of introducing breaking changes in
 the
  API / ABI. But this might take a long time to implement all that is listed
  above, so there's a risk we end up with a trunk that is never ready for
  release for years. Not a good thing.
  On the other hand, we could just be more modest and take breaking changes
 as
  they are introduced and raise the major version number (so the yearly
 version
  after 2.0 could be 3.0). This will require projects using GDAL to adapt
  multiple times.
  An alternative would be to prepare the API for new features even if they
 are
  not implemented, but that's a difficult exercise and there's a risk that at
  implementation time, the API doesn't fit.
  Any thoughts ?
 
  Currently we have no such breakage in trunk so it could qualify as GDAL
 1.11.
  Perhaps we should just release it as such for now before the bigger changes
 ?
 
  Somes topics I can see for GDAL 2.0 that impact API/ABI :
  - well, the mythological unification of OGR driver model with GDAL driver
  model.
  - XYZM support
  - Curve geometries
  - 64 bit integer support
 
  Other possible structural changes :
  - Change of master version control system: switch to git / GitHub ?
  - New build system : cmake ?
 
  Of course all of this will more likely happen if contributors or funders
 show
  up !
 
  Even
 

 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev




___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-21 Thread Dmitriy Baryshnikov

Hi Even,

On code sprint I can work on:
- unification of OGR driver model with GDAL driver
- XYZM
- cmake for GDAL

That about thoughts - e.g. now I work on linear referencing using OGR 
datasources. As the absence of M value I use other algorithms. So I have 
ogrlineref application which can create needed data for linear 
referencing and using it for get:

1) point on path from linear position
2) linear position from point
3) sublinestring from two linear positions

Also, I added few new methods to OGRLineString:
virtual double Project(const OGRPoint *) const;
virtual OGRLineString* getSubLine(double, double, int) const;

I can commit all this, but I don't sure - is this a GDAL scope? And 
there is a border for functionality which is not applicable to GDAL.
Also I have some doubts about breaking ABI as a result of adding new 
methods to the OGRLineString.


Best regards,
Dmitry

21.02.2014 14:07, Even Rouault пишет:

Selon Dmitriy Baryshnikov bishop@gmail.com:


Hi Even,

I plan to participate in code sprint too and work on GDAL.
In addition to the mentioned tasks I would like to discuss some politics
and direction to add new functionality to GDAL.

Great, perhaps you can share some of your thoughts ahead of time ?


Best regards,
  Dmitry

14.02.2014 1:14, Even Rouault пОшет:

Hi,

I've confirmed my presence to the OSGeo Vienna code sprint (
http://wiki.osgeo.org/wiki/Vienna_Code_Sprint_2014 ). Are there folks that
will be there and indent doing some work on GDAL ? Any particular topics of
interest ?

It could be the opportunity to take a crack at some changes that have been
mentionned for some time and are listed at
http://trac.osgeo.org/gdal/wiki/GDAL20Changes

We should decide how to manage the 2.0 transition. I think that the 2.0

number

should be reserved as the opportunity of introducing breaking changes in

the

API / ABI. But this might take a long time to implement all that is listed
above, so there's a risk we end up with a trunk that is never ready for
release for years. Not a good thing.
On the other hand, we could just be more modest and take breaking changes

as

they are introduced and raise the major version number (so the yearly

version

after 2.0 could be 3.0). This will require projects using GDAL to adapt
multiple times.
An alternative would be to prepare the API for new features even if they

are

not implemented, but that's a difficult exercise and there's a risk that at
implementation time, the API doesn't fit.
Any thoughts ?

Currently we have no such breakage in trunk so it could qualify as GDAL

1.11.

Perhaps we should just release it as such for now before the bigger changes

?

Somes topics I can see for GDAL 2.0 that impact API/ABI :
- well, the mythological unification of OGR driver model with GDAL driver
model.
- XYZM support
- Curve geometries
- 64 bit integer support

Other possible structural changes :
- Change of master version control system: switch to git / GitHub ?
- New build system : cmake ?

Of course all of this will more likely happen if contributors or funders

show

up !

Even


___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev








___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-21 Thread Even Rouault
Selon Dmitriy Baryshnikov bishop@gmail.com:

 Hi Even,

 On code sprint I can work on:
 - unification of OGR driver model with GDAL driver
 - XYZM
 - cmake for GDAL

 That about thoughts - e.g. now I work on linear referencing using OGR
 datasources. As the absence of M value I use other algorithms. So I have
 ogrlineref application which can create needed data for linear
 referencing and using it for get:
 1) point on path from linear position
 2) linear position from point
 3) sublinestring from two linear positions

 Also, I added few new methods to OGRLineString:
 virtual double Project(const OGRPoint *) const;
 virtual OGRLineString* getSubLine(double, double, int) const;

I just have had a look at those 2 in
https://github.com/nextgis/gdal-svn/compare/cmake4gdal. That looks fine
generally. I have just seen that GEOSProject_r isn't available in GEOS 3.1.0
which is our new minimal required GEOS version, but it has been added in 3.2.0.
You should just conditionalize the implementation of Project method with the
GEOS version.
And perhaps also add Doxygen comments of the functions.


 I can commit all this, but I don't sure - is this a GDAL scope?

Apart from the above remarks, I'd say: go ahead and commit it.

  And
 there is a border for functionality which is not applicable to GDAL.
 Also I have some doubts about breaking ABI as a result of adding new
 methods to the OGRLineString.

Such breakage of the C++ ABI is within our usual rules.

Even
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-18 Thread Kyle Shannon
On Thu, Feb 13, 2014 at 2:14 PM, Even Rouault
even.roua...@mines-paris.org wrote:
 Hi,

 I've confirmed my presence to the OSGeo Vienna code sprint (
 http://wiki.osgeo.org/wiki/Vienna_Code_Sprint_2014 ). Are there folks that
 will be there and indent doing some work on GDAL ? Any particular topics of
 interest ?

 It could be the opportunity to take a crack at some changes that have been
 mentionned for some time and are listed at
 http://trac.osgeo.org/gdal/wiki/GDAL20Changes

 We should decide how to manage the 2.0 transition. I think that the 2.0 number
 should be reserved as the opportunity of introducing breaking changes in the
 API / ABI. But this might take a long time to implement all that is listed
 above, so there's a risk we end up with a trunk that is never ready for
 release for years. Not a good thing.
 On the other hand, we could just be more modest and take breaking changes as
 they are introduced and raise the major version number (so the yearly version
 after 2.0 could be 3.0). This will require projects using GDAL to adapt
 multiple times.
 An alternative would be to prepare the API for new features even if they are
 not implemented, but that's a difficult exercise and there's a risk that at
 implementation time, the API doesn't fit.
 Any thoughts ?

 Currently we have no such breakage in trunk so it could qualify as GDAL 1.11.
 Perhaps we should just release it as such for now before the bigger changes ?

 Somes topics I can see for GDAL 2.0 that impact API/ABI :
 - well, the mythological unification of OGR driver model with GDAL driver
 model.
 - XYZM support
 - Curve geometries
 - 64 bit integer support

 Other possible structural changes :
 - Change of master version control system: switch to git / GitHub ?
 - New build system : cmake ?

 Of course all of this will more likely happen if contributors or funders show
 up !

 Even

 --
 Geospatial professional services
 http://even.rouault.free.fr/services.html
 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev

Hi, I meant to bring this up in my earlier email, but it slipped my
mind.  Or maybe I didn't want to open a can of worms.  What exactly
would 'unification' entail?  I assume all ogr drivers would have to
inherit GDALMajorObject (and probably OGRDataSource and OGRLayer
maybe?) and then ogr drivers would have to populate metadata.  I also
assume that this would replace GetCapabilities().  Can someone
elaborate on the scope of such a change?  Thanks.

-- 
Kyle
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-18 Thread Even Rouault
 
 Hi, I meant to bring this up in my earlier email, but it slipped my
 mind.  Or maybe I didn't want to open a can of worms.  What exactly
 would 'unification' entail?  I assume all ogr drivers would have to
 inherit GDALMajorObject (and probably OGRDataSource and OGRLayer
 maybe?) and then ogr drivers would have to populate metadata.  I also
 assume that this would replace GetCapabilities().  Can someone
 elaborate on the scope of such a change?  Thanks.

Yes, probably things in that direction. Well that could be a whole subject to 
discuss in face to face for people present in Vienna. A further step would be 
to have drivers that would do both the raster and vector side at the same time 
(think of Geopackage for example). A dataset/datasource would have raster band 
and vector layers.

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-16 Thread Kyle Shannon
Even, thanks for the notes.

On Sat, Feb 15, 2014 at 11:57 AM, Even Rouault
even.roua...@mines-paris.org wrote:
 Thanks for your thoughs Kyle. I expect more developers and PSC members to
 express theirs too.


 How long would the stable branches be maintained?  Would we handle as
 we do now, with one stable branch and one development branch, or would
 we backport bug fixes to n branches (3.1, 2.4, etc)?  Would this
 require maintaining 3 branches?  stable, trunk, and api_break?  Any
 thoughts?

 What would be the api_break branch, as opposed to trunk I mean ?
 Maintaining 2 branches in addition to the development branch seems to be a bit
 too much work. Well, backporting is not that difficult generally, but 
 releasing
 a version is an effort that takes some energy and time, so we would have 
 likely
 difficulty in making the necessary releases. But anyone wanting to maintain a
 branch can do it, so there's no need to set that policy in stone.


Sorry, I chose poor wording, but you answered my question in regard to
two branches.  I agree with your assessment.


  An alternative would be to prepare the API for new features even if they
  are not implemented, but that's a difficult exercise and there's a risk
  that at implementation time, the API doesn't fit.
  Any thoughts ?
 
  Currently we have no such breakage in trunk so it could qualify as GDAL
  1.11. Perhaps we should just release it as such for now before the
  bigger changes ?

 Maybe release 1.11 soon, and take a crack at 2.0 changes before the
 next release?  This would probably require a concerted effort from
 developers or funders, as Even mentioned in regard to the sprint.

  Somes topics I can see for GDAL 2.0 that impact API/ABI :
  - well, the mythological unification of OGR driver model with GDAL driver
  model.
  - XYZM support
  - Curve geometries
  - 64 bit integer support

 The 64-bit integer changes seem fairly straight forward.  I see XYZM
 support up for GSoC again, maybe it'll get picked up.  I have no idea
 what curve support would entail.

 Well, new geometry types and enhancements in drivers that would support them
 (PostGIS, ...). And also likely adapt all existing drivers that have write
 support so they can deal with the new geometry types : ignore them, or take
 them into account.


  Other possible structural changes :
  - Change of master version control system: switch to git / GitHub ?
  - New build system : cmake ?

 What are the benefits here?   Is travis integration easier?

 Well, I put that on the table since it is sometimes mentionned by developers,
 but the effort vs benefit ratio is not completely obvious for existing GDAL 
 svn
 commiters.
 git transition would be mainly to keep up with what developers are of will
 soon be familiar with. Someone pointed me recently that GitHub also exposed
 git repositories as subversion repositories (which I experimented a bit), so
 that could satisfy most developers. git has the benefit of easing porting
 patches between branches, and making contributions from casual developers
 easier. Since the git mirror already exists, the transition to github would
 essentially require porting the Trac database to Github tickets (we could
 benefit from MapServer experience that has done that move before)

I have no preference as to which scm is used, although if it allows
more people to use or contribute, I'm all for it.  This is probably
not realistic, but it also may be a chance to purge some older/invalid
tickets from the trac database.  I imagine there is no way of really
doing this without a human checking for validity though.


 I believe
 someone has a cmake port floating around on github, any comments
 there?

 The effort seems to have stalled. The benefit here would be the unification of
 the Unix and Windows makefiles, but the complexity of GDAL dependencies makes
 the porting effort rather repelling...

I can imagine...


 --
 Geospatial professional services
 http://even.rouault.free.fr/services.html

Thanks.

-- 
Kyle
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-16 Thread Kyle Shannon
Dmitriy,

What version of cmake is required.

On Sat, Feb 15, 2014 at 1:31 PM, Dmitriy Baryshnikov
bishop@gmail.com wrote:
 Hi,

 As cmake4gdal developer I think there is no problem with cmake. By now we
 main code is cmaked, and deal only with some drivers (GDAL or OGR), which
 needed cmake scripts.
 I make needed cmake scripts for drivers what I use in may work.

Are any of your Find* scripts being pushed back into the cmake code
base, or do they live exclusively in the GDAL source tree?  It's
strange to me that cmake doesn't come bundled with find scripts for
libs like sqlite and mysql, they are fairly common.


 So, with some help we can do all cmake scripts rather fast.

 The current implementation is here:
 https://github.com/nextgis/gdal-svn/tree/cmake4gdal and
 https://github.com/aashish24/gdal-svn/tree/cmake4gdal
 The branches include not the latest GDAL repository commits, as they can
 include makefile chages, so there is some delay as I synchronize the
 branches.

 Now there are scripts to:
 1) all libraries - CPL, GDAL, OGR
 2) apps - gdaladdo, gdalbuildvrt, gdalinfo, gdallocationinfo, gdalwarp,
 gdal_contour, gdal_grid, gdal_translate, ogr2ogr, ogrinfo, test_ogrsf
 3) GDAL drivers - bmp, dimap, gif, tiff, hfa, iso8211, jpeg, map, mem, ozi,
 png, postgisraster, raw, saga, til, vrt, wms
 4) OGR drivers - csv, dxf, generic, geojson, gml, gpx, kml, libkml, mem,
 mitab, mysql, pg, s57, shape, sqlite, sxf, vrt, wfs

 Best regards,
 Dmitry

 15.02.2014 22:57, Even Rouault пишет:

 Thanks for your thoughs Kyle. I expect more developers and PSC members to
 express theirs too.

 How long would the stable branches be maintained?  Would we handle as
 we do now, with one stable branch and one development branch, or would
 we backport bug fixes to n branches (3.1, 2.4, etc)?  Would this
 require maintaining 3 branches?  stable, trunk, and api_break?  Any
 thoughts?

 What would be the api_break branch, as opposed to trunk I mean ?
 Maintaining 2 branches in addition to the development branch seems to be a
 bit
 too much work. Well, backporting is not that difficult generally, but
 releasing
 a version is an effort that takes some energy and time, so we would have
 likely
 difficulty in making the necessary releases. But anyone wanting to
 maintain a
 branch can do it, so there's no need to set that policy in stone.

 An alternative would be to prepare the API for new features even if they
 are not implemented, but that's a difficult exercise and there's a risk
 that at implementation time, the API doesn't fit.
 Any thoughts ?

 Currently we have no such breakage in trunk so it could qualify as GDAL
 1.11. Perhaps we should just release it as such for now before the
 bigger changes ?

 Maybe release 1.11 soon, and take a crack at 2.0 changes before the
 next release?  This would probably require a concerted effort from
 developers or funders, as Even mentioned in regard to the sprint.

 Somes topics I can see for GDAL 2.0 that impact API/ABI :
 - well, the mythological unification of OGR driver model with GDAL
 driver
 model.
 - XYZM support
 - Curve geometries
 - 64 bit integer support

 The 64-bit integer changes seem fairly straight forward.  I see XYZM
 support up for GSoC again, maybe it'll get picked up.  I have no idea
 what curve support would entail.

 Well, new geometry types and enhancements in drivers that would support
 them
 (PostGIS, ...). And also likely adapt all existing drivers that have write
 support so they can deal with the new geometry types : ignore them, or
 take
 them into account.

 Other possible structural changes :
 - Change of master version control system: switch to git / GitHub ?
 - New build system : cmake ?

 What are the benefits here?   Is travis integration easier?

 Well, I put that on the table since it is sometimes mentionned by
 developers,
 but the effort vs benefit ratio is not completely obvious for existing
 GDAL svn
 commiters.
 git transition would be mainly to keep up with what developers are of will
 soon be familiar with. Someone pointed me recently that GitHub also
 exposed
 git repositories as subversion repositories (which I experimented a bit),
 so
 that could satisfy most developers. git has the benefit of easing porting
 patches between branches, and making contributions from casual developers
 easier. Since the git mirror already exists, the transition to github
 would
 essentially require porting the Trac database to Github tickets (we could
 benefit from MapServer experience that has done that move before)

 I believe
 someone has a cmake port floating around on github, any comments
 there?

 The effort seems to have stalled. The benefit here would be the
 unification of
 the Unix and Windows makefiles, but the complexity of GDAL dependencies
 makes
 the porting effort rather repelling...


 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-16 Thread Dmitriy Baryshnikov

Hi Kyle,

The minimum version cmake is 2.8.8 because it have some required 
functionality:


add_library(name OBJECT src...) and TARGET_OBJECTS:objlib

some discussion can be found here: 
http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/3379


But in scripts I set VERSION 2.8.10 - this is historical.

What about pushing Find scripts back: as the work is not finished and 
GDAL and other required libraries changing, I think it's rather early to 
do. Though can be done.


Best regards,
Dmitry

16.02.2014 21:49, Kyle Shannon пишет:

Dmitriy,

What version of cmake is required.

On Sat, Feb 15, 2014 at 1:31 PM, Dmitriy Baryshnikov
bishop@gmail.com wrote:

Hi,

As cmake4gdal developer I think there is no problem with cmake. By now we
main code is cmaked, and deal only with some drivers (GDAL or OGR), which
needed cmake scripts.
I make needed cmake scripts for drivers what I use in may work.

Are any of your Find* scripts being pushed back into the cmake code
base, or do they live exclusively in the GDAL source tree?  It's
strange to me that cmake doesn't come bundled with find scripts for
libs like sqlite and mysql, they are fairly common.


So, with some help we can do all cmake scripts rather fast.

The current implementation is here:
https://github.com/nextgis/gdal-svn/tree/cmake4gdal and
https://github.com/aashish24/gdal-svn/tree/cmake4gdal
The branches include not the latest GDAL repository commits, as they can
include makefile chages, so there is some delay as I synchronize the
branches.

Now there are scripts to:
1) all libraries - CPL, GDAL, OGR
2) apps - gdaladdo, gdalbuildvrt, gdalinfo, gdallocationinfo, gdalwarp,
gdal_contour, gdal_grid, gdal_translate, ogr2ogr, ogrinfo, test_ogrsf
3) GDAL drivers - bmp, dimap, gif, tiff, hfa, iso8211, jpeg, map, mem, ozi,
png, postgisraster, raw, saga, til, vrt, wms
4) OGR drivers - csv, dxf, generic, geojson, gml, gpx, kml, libkml, mem,
mitab, mysql, pg, s57, shape, sqlite, sxf, vrt, wfs

Best regards,
 Dmitry

15.02.2014 22:57, Even Rouault пишет:


Thanks for your thoughs Kyle. I expect more developers and PSC members to
express theirs too.


How long would the stable branches be maintained?  Would we handle as
we do now, with one stable branch and one development branch, or would
we backport bug fixes to n branches (3.1, 2.4, etc)?  Would this
require maintaining 3 branches?  stable, trunk, and api_break?  Any
thoughts?

What would be the api_break branch, as opposed to trunk I mean ?
Maintaining 2 branches in addition to the development branch seems to be a
bit
too much work. Well, backporting is not that difficult generally, but
releasing
a version is an effort that takes some energy and time, so we would have
likely
difficulty in making the necessary releases. But anyone wanting to
maintain a
branch can do it, so there's no need to set that policy in stone.


An alternative would be to prepare the API for new features even if they
are not implemented, but that's a difficult exercise and there's a risk
that at implementation time, the API doesn't fit.
Any thoughts ?

Currently we have no such breakage in trunk so it could qualify as GDAL
1.11. Perhaps we should just release it as such for now before the
bigger changes ?

Maybe release 1.11 soon, and take a crack at 2.0 changes before the
next release?  This would probably require a concerted effort from
developers or funders, as Even mentioned in regard to the sprint.


Somes topics I can see for GDAL 2.0 that impact API/ABI :
- well, the mythological unification of OGR driver model with GDAL
driver
model.
- XYZM support
- Curve geometries
- 64 bit integer support

The 64-bit integer changes seem fairly straight forward.  I see XYZM
support up for GSoC again, maybe it'll get picked up.  I have no idea
what curve support would entail.

Well, new geometry types and enhancements in drivers that would support
them
(PostGIS, ...). And also likely adapt all existing drivers that have write
support so they can deal with the new geometry types : ignore them, or
take
them into account.


Other possible structural changes :
- Change of master version control system: switch to git / GitHub ?
- New build system : cmake ?

What are the benefits here?   Is travis integration easier?

Well, I put that on the table since it is sometimes mentionned by
developers,
but the effort vs benefit ratio is not completely obvious for existing
GDAL svn
commiters.
git transition would be mainly to keep up with what developers are of will
soon be familiar with. Someone pointed me recently that GitHub also
exposed
git repositories as subversion repositories (which I experimented a bit),
so
that could satisfy most developers. git has the benefit of easing porting
patches between branches, and making contributions from casual developers
easier. Since the git mirror already exists, the transition to github
would
essentially require porting the Trac database to Github tickets (we could
benefit from MapServer 

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-15 Thread Kyle Shannon
Hi,  Just a few thoughts/questions...

On Thu, Feb 13, 2014 at 2:14 PM, Even Rouault
even.roua...@mines-paris.org wrote:
 Hi,

 I've confirmed my presence to the OSGeo Vienna code sprint (
 http://wiki.osgeo.org/wiki/Vienna_Code_Sprint_2014 ). Are there folks that
 will be there and indent doing some work on GDAL ? Any particular topics of
 interest ?

 It could be the opportunity to take a crack at some changes that have been
 mentionned for some time and are listed at
 http://trac.osgeo.org/gdal/wiki/GDAL20Changes

 We should decide how to manage the 2.0 transition. I think that the 2.0 number
 should be reserved as the opportunity of introducing breaking changes in the
 API / ABI. But this might take a long time to implement all that is listed
 above, so there's a risk we end up with a trunk that is never ready for
 release for years. Not a good thing.
 On the other hand, we could just be more modest and take breaking changes as
 they are introduced and raise the major version number (so the yearly version
 after 2.0 could be 3.0). This will require projects using GDAL to adapt
 multiple times.

How long would the stable branches be maintained?  Would we handle as
we do now, with one stable branch and one development branch, or would
we backport bug fixes to n branches (3.1, 2.4, etc)?  Would this
require maintaining 3 branches?  stable, trunk, and api_break?  Any
thoughts?

 An alternative would be to prepare the API for new features even if they are
 not implemented, but that's a difficult exercise and there's a risk that at
 implementation time, the API doesn't fit.
 Any thoughts ?

 Currently we have no such breakage in trunk so it could qualify as GDAL 1.11.
 Perhaps we should just release it as such for now before the bigger changes ?

Maybe release 1.11 soon, and take a crack at 2.0 changes before the
next release?  This would probably require a concerted effort from
developers or funders, as Even mentioned in regard to the sprint.


 Somes topics I can see for GDAL 2.0 that impact API/ABI :
 - well, the mythological unification of OGR driver model with GDAL driver
 model.
 - XYZM support
 - Curve geometries
 - 64 bit integer support

The 64-bit integer changes seem fairly straight forward.  I see XYZM
support up for GSoC again, maybe it'll get picked up.  I have no idea
what curve support would entail.


 Other possible structural changes :
 - Change of master version control system: switch to git / GitHub ?
 - New build system : cmake ?

What are the benefits here?  Is travis integration easier?  I believe
someone has a cmake port floating around on github, any comments
there?


 Of course all of this will more likely happen if contributors or funders show
 up !

 Even

 --
 Geospatial professional services
 http://even.rouault.free.fr/services.html
 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev

Regards,

-- 
Kyle
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-15 Thread Even Rouault
Thanks for your thoughs Kyle. I expect more developers and PSC members to 
express theirs too.

 
 How long would the stable branches be maintained?  Would we handle as
 we do now, with one stable branch and one development branch, or would
 we backport bug fixes to n branches (3.1, 2.4, etc)?  Would this
 require maintaining 3 branches?  stable, trunk, and api_break?  Any
 thoughts?

What would be the api_break branch, as opposed to trunk I mean ?
Maintaining 2 branches in addition to the development branch seems to be a bit 
too much work. Well, backporting is not that difficult generally, but releasing 
a version is an effort that takes some energy and time, so we would have likely 
difficulty in making the necessary releases. But anyone wanting to maintain a 
branch can do it, so there's no need to set that policy in stone.

 
  An alternative would be to prepare the API for new features even if they
  are not implemented, but that's a difficult exercise and there's a risk
  that at implementation time, the API doesn't fit.
  Any thoughts ?
  
  Currently we have no such breakage in trunk so it could qualify as GDAL
  1.11. Perhaps we should just release it as such for now before the
  bigger changes ?
 
 Maybe release 1.11 soon, and take a crack at 2.0 changes before the
 next release?  This would probably require a concerted effort from
 developers or funders, as Even mentioned in regard to the sprint.
 
  Somes topics I can see for GDAL 2.0 that impact API/ABI :
  - well, the mythological unification of OGR driver model with GDAL driver
  model.
  - XYZM support
  - Curve geometries
  - 64 bit integer support
 
 The 64-bit integer changes seem fairly straight forward.  I see XYZM
 support up for GSoC again, maybe it'll get picked up.  I have no idea
 what curve support would entail.

Well, new geometry types and enhancements in drivers that would support them 
(PostGIS, ...). And also likely adapt all existing drivers that have write 
support so they can deal with the new geometry types : ignore them, or take 
them into account.

 
  Other possible structural changes :
  - Change of master version control system: switch to git / GitHub ?
  - New build system : cmake ?
 
 What are the benefits here?   Is travis integration easier?

Well, I put that on the table since it is sometimes mentionned by developers, 
but the effort vs benefit ratio is not completely obvious for existing GDAL svn 
commiters.
git transition would be mainly to keep up with what developers are of will 
soon be familiar with. Someone pointed me recently that GitHub also exposed 
git repositories as subversion repositories (which I experimented a bit), so 
that could satisfy most developers. git has the benefit of easing porting 
patches between branches, and making contributions from casual developers 
easier. Since the git mirror already exists, the transition to github would 
essentially require porting the Trac database to Github tickets (we could 
benefit from MapServer experience that has done that move before)

 I believe
 someone has a cmake port floating around on github, any comments
 there?

The effort seems to have stalled. The benefit here would be the unification of 
the Unix and Windows makefiles, but the complexity of GDAL dependencies makes 
the porting effort rather repelling...

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev


Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-15 Thread Frank Warmerdam
On Thu, Feb 13, 2014 at 1:14 PM, Even Rouault
even.roua...@mines-paris.orgwrote:



 Currently we have no such breakage in trunk so it could qualify as GDAL
 1.11.
 Perhaps we should just release it as such for now before the bigger
 changes ?


Even,

I think that 2.0 could be kept for breaking changes, and that if we aren't
going to accomplish those big projects we should just aim for a 1.11
release.



 Somes topics I can see for GDAL 2.0 that impact API/ABI :
 - well, the mythological unification of OGR driver model with GDAL driver
 model.
 - XYZM support
 - Curve geometries
 - 64 bit integer support


I think the above could potentially justify a 2.0 release.  I think a
change to github or cmake do not because they don't affect applications
using GDAL.

Best regards,
Frank


 Other possible structural changes :
 - Change of master version control system: switch to git / GitHub ?
 - New build system : cmake ?

 Of course all of this will more likely happen if contributors or funders
 show
 up !

 Even

 --
 Geospatial professional services
 http://even.rouault.free.fr/services.html
 ___
 gdal-dev mailing list
 gdal-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/gdal-dev




-- 
---+--
I set the clouds in motion - turn up   | Frank Warmerdam,
warmer...@pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush| Geospatial Software Developer
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Re: [gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-15 Thread Dmitriy Baryshnikov

Hi,

As cmake4gdal developer I think there is no problem with cmake. By now 
we main code is cmaked, and deal only with some drivers (GDAL or OGR), 
which needed cmake scripts.

I make needed cmake scripts for drivers what I use in may work.

So, with some help we can do all cmake scripts rather fast.

The current implementation is here: 
https://github.com/nextgis/gdal-svn/tree/cmake4gdal and 
https://github.com/aashish24/gdal-svn/tree/cmake4gdal
The branches include not the latest GDAL repository commits, as they can 
include makefile chages, so there is some delay as I synchronize the 
branches.


Now there are scripts to:
1) all libraries - CPL, GDAL, OGR
2) apps - gdaladdo, gdalbuildvrt, gdalinfo, gdallocationinfo, gdalwarp, 
gdal_contour, gdal_grid, gdal_translate, ogr2ogr, ogrinfo, test_ogrsf
3) GDAL drivers - bmp, dimap, gif, tiff, hfa, iso8211, jpeg, map, mem, 
ozi, png, postgisraster, raw, saga, til, vrt, wms
4) OGR drivers - csv, dxf, generic, geojson, gml, gpx, kml, libkml, mem, 
mitab, mysql, pg, s57, shape, sqlite, sxf, vrt, wfs


Best regards,
Dmitry

15.02.2014 22:57, Even Rouault пишет:

Thanks for your thoughs Kyle. I expect more developers and PSC members to
express theirs too.


How long would the stable branches be maintained?  Would we handle as
we do now, with one stable branch and one development branch, or would
we backport bug fixes to n branches (3.1, 2.4, etc)?  Would this
require maintaining 3 branches?  stable, trunk, and api_break?  Any
thoughts?

What would be the api_break branch, as opposed to trunk I mean ?
Maintaining 2 branches in addition to the development branch seems to be a bit
too much work. Well, backporting is not that difficult generally, but releasing
a version is an effort that takes some energy and time, so we would have likely
difficulty in making the necessary releases. But anyone wanting to maintain a
branch can do it, so there's no need to set that policy in stone.


An alternative would be to prepare the API for new features even if they
are not implemented, but that's a difficult exercise and there's a risk
that at implementation time, the API doesn't fit.
Any thoughts ?

Currently we have no such breakage in trunk so it could qualify as GDAL
1.11. Perhaps we should just release it as such for now before the
bigger changes ?

Maybe release 1.11 soon, and take a crack at 2.0 changes before the
next release?  This would probably require a concerted effort from
developers or funders, as Even mentioned in regard to the sprint.


Somes topics I can see for GDAL 2.0 that impact API/ABI :
- well, the mythological unification of OGR driver model with GDAL driver
model.
- XYZM support
- Curve geometries
- 64 bit integer support

The 64-bit integer changes seem fairly straight forward.  I see XYZM
support up for GSoC again, maybe it'll get picked up.  I have no idea
what curve support would entail.

Well, new geometry types and enhancements in drivers that would support them
(PostGIS, ...). And also likely adapt all existing drivers that have write
support so they can deal with the new geometry types : ignore them, or take
them into account.


Other possible structural changes :
- Change of master version control system: switch to git / GitHub ?
- New build system : cmake ?

What are the benefits here?   Is travis integration easier?

Well, I put that on the table since it is sometimes mentionned by developers,
but the effort vs benefit ratio is not completely obvious for existing GDAL svn
commiters.
git transition would be mainly to keep up with what developers are of will
soon be familiar with. Someone pointed me recently that GitHub also exposed
git repositories as subversion repositories (which I experimented a bit), so
that could satisfy most developers. git has the benefit of easing porting
patches between branches, and making contributions from casual developers
easier. Since the git mirror already exists, the transition to github would
essentially require porting the Trac database to Github tickets (we could
benefit from MapServer experience that has done that move before)


I believe
someone has a cmake port floating around on github, any comments
there?

The effort seems to have stalled. The benefit here would be the unification of
the Unix and Windows makefiles, but the complexity of GDAL dependencies makes
the porting effort rather repelling...



___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

[gdal-dev] Misc. subjects : OSGeo Vienna code sprint, release plans, GDAL 2.0

2014-02-13 Thread Even Rouault
Hi,

I've confirmed my presence to the OSGeo Vienna code sprint ( 
http://wiki.osgeo.org/wiki/Vienna_Code_Sprint_2014 ). Are there folks that 
will be there and indent doing some work on GDAL ? Any particular topics of 
interest ?

It could be the opportunity to take a crack at some changes that have been 
mentionned for some time and are listed at 
http://trac.osgeo.org/gdal/wiki/GDAL20Changes

We should decide how to manage the 2.0 transition. I think that the 2.0 number 
should be reserved as the opportunity of introducing breaking changes in the 
API / ABI. But this might take a long time to implement all that is listed 
above, so there's a risk we end up with a trunk that is never ready for 
release for years. Not a good thing.
On the other hand, we could just be more modest and take breaking changes as 
they are introduced and raise the major version number (so the yearly version 
after 2.0 could be 3.0). This will require projects using GDAL to adapt 
multiple times.
An alternative would be to prepare the API for new features even if they are 
not implemented, but that's a difficult exercise and there's a risk that at 
implementation time, the API doesn't fit.
Any thoughts ?

Currently we have no such breakage in trunk so it could qualify as GDAL 1.11. 
Perhaps we should just release it as such for now before the bigger changes ?

Somes topics I can see for GDAL 2.0 that impact API/ABI :
- well, the mythological unification of OGR driver model with GDAL driver 
model.
- XYZM support
- Curve geometries
- 64 bit integer support

Other possible structural changes :
- Change of master version control system: switch to git / GitHub ?
- New build system : cmake ?

Of course all of this will more likely happen if contributors or funders show 
up !

Even

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev