Responding to my own question here ...
In order to replace prj2epsg.org API, I used GDAL which allow me to parse projection files (.prj) or shapefiles (.shp) in order to recover some information (such as the EPSG
or the PROJ4
).
I had a lot of variety with the results using .prj/.shp
and various versions of GDAL
. I decided ultimately to use a recent version of GDAL
(for support and stability) and shapefiles (because I was able to find EPSG directly more often).
When I am not able to found EPSG
directly, I discovered that I could query the spatial_ref_sys
from Postgis to retrieve projection.
I query this table using the PROJCS
attribute of my shapefile, which gathers a few matching projections. In order to match with the correct projection, I compute a score for each projection based on the PROJ4
of my files and proj4text
attribute in the table by transforming then into dicts and counting the number of similarities.
The final results seem to always be the correct EPSG code.
I did not have enough cases and data to really test on many shapefiles, but anyone is free to try this method...