[Proj] Coming releases of PROJ.4
Kristian Evers
kreve at sdfe.dk
Thu Jun 22 15:57:58 EST 2017
Even,
> Kristian, do you think that would be feasible to keep the proj_api API, while possibly making it internally use the new API if that simplifies design / maintainance ? A kind of compatibility layer.
On top of my head, yes. It might be a challenge to sort out contexts and the ProjFileAPI, but I think it is doable. I'll have to have a closer look though.
> I could potentially collect the API calls of projects I'm familiar with (GDAL, shapelib, libgeotiff, mapserver and QGIS), so we have a better picture of what is actually used in the wild. At the very least, it will give us an idea of what the capabilities the new API should cover...
That would be very helpful. I am especially interested to see if anyone has ever used the ProjFileAPI functions...
Howard,
> Ditching manually-constructed and out-of-date nmake for cmake seems fine to me (ooh, CMake gives me project files now!), but ditching autotools that has worked for people for decades does not. That change would ripple into packagers and the distros for little or no appreciable benefit.
I won't claim to be an expert in CMake, quite the opposite really, but I was under the impression that it would be possible to set up CMake in a way so that it mimics the autotools behavior exactly when UNIX makefiles are generated. I am completely wrong here?
The benefit would be to limit the amount of code we have to maintain. It would only benefit us, true, but it would also free time that can be spend improving the overall project instead of maintaining status quo. I don't feel too strongly about this, I just wanted to throw it out there while I was at it.
> but I must say I'm very skeptical that we can actually *remove* anything -- especially headers with ambiguous public vs. private behavior that people now depend upon
I get that. On the other hand I fear that we will be locked in place forever if we don't allow breaking stuff once in a while. If at least we can get away with not exposing projects.h I think there will be much more room to play in the future. I hope that Even's assessment about it not being used much is true.
> We need to be delicate about changing things for a library such as Proj.4 only for the sake of being "better". This is an unfortunate consequence of maintaining a library that everything ultimately uses (and started using 20+ years ago).
Perhaps the ambition should be to BE MUCH BETTER than previous versions on PROJ.4. So much better that other projects will benefit hugely from using the new API and update their codebase voluntarily. Eventually the problem will solve itself. I already think we are on the right track.
/Kristian
Fra: proj-bounces at lists.maptools.org [mailto:proj-bounces at lists.maptools.org] På vegne af Even Rouault
Sendt: 22. juni 2017 21:49
Til: proj at lists.maptools.org
Cc: Sebastiaan Couwenberg
Emne: Re: [Proj] Coming releases of PROJ.4
On jeudi 22 juin 2017 21:15:27 CEST Sebastiaan Couwenberg wrote:
> On 06/22/2017 08:49 PM, Kristian Evers wrote:
> >> I'm also thinking to Linux distributions that will be able to ship only a
> >> single proj version and will perhaps have packages that still use the
> >> old API while others have already migrated.>
> > Good point.
>
> To be more specific, there will be projects that will never move to the
> new API due to lack of development manpower, etc.
>
> Ideally the old API remains available, and gets put into an indefinite
> maintenance mode.
On my ubuntu 16.04, I see
$ apt-cache rdepends libproj9
libproj9
Reverse Depends:
libproj-dev
libmapserver2
zygrib
xastir
thuban
therion
survex-aven
survex
sumo
spatialite-gui
sosi2osm
shapelib
saga
qmapshack
qlandkartegt
qgis
python3-pyproj
python-pyproj
proj-bin
postgresql-9.5-postgis-2.2
pdl
osm2pgsql
ogdi-bin
ncl-ncarg
merkaartor
libvtk6.2
libsqlite3-mod-spatialite
libspatialite7
libqgis-core2.8.6
libproj-java
liblwgeom-2.2-5
libogdi3.2
libmapserver2
libmapnik3.0
libmagplus3v5
cdo
libgeotiff2
libgeo-proj4-perl
libgdal1i
grass-core
gpx2shp
I didn't think the list was so long. Indeed the cumulative amount of effort for migrating all those projects is very likely much higher than supporting the old API.
As far as I'm concerned, I'm afraid I'm somehow the fallback maintainer of libgeotiff and shapelib, but I've never touched at their proj.4 dependant part (I'm in fact almost discovering that they depend on proj.4 !) I wouldn't be so enthousiastic in spending time touching that part.
Kristian, do you think that would be feasible to keep the proj_api API, while possibly making it internally use the new API if that simplifies design / maintainance ? A kind of compatibility layer.
I could potentially collect the API calls of projects I'm familiar with (GDAL, shapelib, libgeotiff, mapserver and QGIS), so we have a better picture of what is actually used in the wild. At the very least, it will give us an idea of what the capabilities the new API should cover...
Even
--
Spatialys - Geospatial professional services
http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/proj/attachments/20170622/cb501cf9/attachment-0001.htm
More information about the Proj
mailing list