[Proj] Virtual File Access

Phil Elson pelson.pub at gmail.com
Sun Jun 23 06:52:42 EST 2013

The release sounds good. I'm really looking forward to trying out Charles'
geod interface too.

Just wondering if the Robinson issue raised by Edward Campbell on this list
was on the radar for this release? As it stands the Robinson projection is
pretty broke at latitudes of around 40°...

All the best,

Phil Elson

To smooth out deployment of PROJ.4 at my workplace, I have made some
changes so that all file access can go through a virtual layer. This
virtual file
api looks like the following, and is associated with a "context" (projCtx).

typedef struct projFileAPI_t {
    PAFile  (*FOpen)(projCtx ctx, const char *filename, const char *access);
    size_t  (*FRead)(void *buffer, size_t size, size_t nmemb, PAFile file);
    int     (*FSeek)(PAFile file, long offset, int whence);
    long    (*FTell)(PAFile file);
    void    (*FClose)(PAFile);
} projFileAPI;

I have reworked the the init file and grid shift file access goes through
and provided a default "stdio" based implementation.  These changes are
now available in svn and I have yet to actually try it out beyond use of the
stdio based implementation, but I'm interested in if anyone sees this as
useful or has thoughts on how it ought to be done better.

I'm also contemplating an optional build mechanism that will build grid
shift files and init files right into the shared library for easy deployment
though I'm not sure exactly how I'll do that yet.

I have also updated svn in preparation for a 4.9.0 beta release which I
hope to do in the next week or so.  I'll try to review the bug database and
fix anything I can but this is a good time to bring any pressing bugs to the
table.  So far the NEWS file contains:

4.9.0 Release Notes

 o Implement new virtual file api (projFileAPI) so that all access to grid
   shift and init files can be hooked.

 o Replace geodesic implementation with one from Charles Karney and add a
   supported public interface (geod_interface.h).

 o Upgraded to EPSG 8.0.

 o Removed old (deprecated) Java bindings in favor of the new api introduced
   in 4.8.0.

 o Various bug fixes and cleanup.

Best regards,
I set the clouds in motion - turn up   | Frank Warmerdam,
warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Software Developer

Proj mailing list
Proj at lists.maptools.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/proj/attachments/20130623/0957a914/attachment.htm 

More information about the Proj mailing list