Aquí está la fuente subyacentes a la biblioteca de Java, prj2epsg, utilizado detrás de las escenas en la página web de la lista. Básicamente, se utiliza un índice de Lucene para obtener la mejor coincidencia entre el WKT en su archivo prj y subyacente a la EPSG. Como AndreJ ya lo ha dicho, esto no puede ser 100% perfecto, pero Lucene sobresale en el parcial/coincidencia aproximada. gdalsrsinfo podría ser más fácil para ponerse en marcha, aunque.
Usted puede hacer esto con bastante facilidad en Postgres si tuviera la fuzzystrmatch contrib módulo instalado, por las pruebas contra spatial_ref_sys
, que contiene todos los códigos EPSG en WKT reprsentation. Algo así como:
select srid from spatial_ref_sys where levenshtein(srtext, prj_text) < 3 order by levenshtein(srtext, prj_text);
donde 3 es un número arbitrario para fines ilustrativos. El Levenshtein número indica el número de cambios necesarios para pasar de una cadena a otra, de modo que cuanto menor sea el número, más juntos y más probable es que su archivo prj es un dado EPSG.
Como tiff etiquetas, mira la respuesta en este Stack Overflow de post. El tiffile.py la aplicación se ve como el más fácil de implementar y/o modificar.