Skip to content

Instantly share code, notes, and snippets.

@afalciano
Created October 26, 2017 15:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save afalciano/fd81318e89dacb2b05495df4f729f920 to your computer and use it in GitHub Desktop.
Save afalciano/fd81318e89dacb2b05495df4f729f920 to your computer and use it in GitHub Desktop.
Testing the projection files recognition in gvSIG 2.4.0 #gvSIG (License: CC0) - Fork it and add your test cases! ;-)
# encoding: utf-8
import unittest
from org.gvsig.fmap.crs import CRSFactory
from org.cresques.cts import ICRSFactory
class TestPrjRecognition(unittest.TestCase):
def test_epsg2277(self):
wkt = """PROJCS["NAD_1983_StatePlane_Texas_Central_FIPS_4203_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2296583.333333333],PARAMETER["False_Northing",9842500.0],PARAMETER["Central_Meridian",-100.3333333333333],PARAMETER["Standard_Parallel_1",30.11666666666667],PARAMETER["Standard_Parallel_2",31.88333333333333],PARAMETER["Latitude_Of_Origin",29.66666666666667],UNIT["Foot_US",0.3048006096012192]]"""
proj = CRSFactory.getCRSFactory().get(ICRSFactory.FORMAT_WKT_ESRI, wkt).getAbrev()
self.assertEqual(proj, "EPSG:2277")
def test_epsg2950(self):
wkt = """PROJCS["NAD83_CSRS_MTM_zone_8",GEOGCS["GCS_NAD83(CSRS)",DATUM["D_North_American_1983_CSRS98",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-73.5],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0],UNIT["Meter",1]]"""
proj = CRSFactory.getCRSFactory().get(ICRSFactory.FORMAT_WKT_ESRI, wkt).getAbrev()
self.assertEqual(proj, "EPSG:2950")
def test_epsg21781(self):
wkt = """PROJCS["CH1903_LV03",GEOGCS["GCS_CH1903",DATUM["D_CH1903",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Hotine_Oblique_Mercator_Azimuth_Center"],PARAMETER["latitude_of_center",46.95240555555556],PARAMETER["longitude_of_center",7.439583333333333],PARAMETER["azimuth",90],PARAMETER["scale_factor",1],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000],UNIT["Meter",1]]"""
proj = CRSFactory.getCRSFactory().get(ICRSFactory.FORMAT_WKT_ESRI, wkt).getAbrev()
self.assertEqual(proj, "EPSG:21781")
def test_epsg23030(self):
wkt = """PROJCS["ED_1950_UTM_Zone_30N",GEOGCS["GCS_European_1950",DATUM["D_European_1950",SPHEROID["International_1924",6378388.0,297.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-3.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]"""
proj = CRSFactory.getCRSFactory().get(ICRSFactory.FORMAT_WKT_ESRI, wkt).getAbrev()
self.assertEqual(proj, "EPSG:23030")
def test_epsg32188(self):
wkt = """PROJCS["NAD83_MTM_zone_8",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-73.5],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",304800],PARAMETER["false_northing",0],UNIT["Meter",1]]"""
proj = CRSFactory.getCRSFactory().get(ICRSFactory.FORMAT_WKT_ESRI, wkt).getAbrev()
self.assertEqual(proj, "EPSG:32188")
def test_epsg3857(self):
wkt = """PROJCS["WGS_84_Pseudo_Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator"],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],PARAMETER["standard_parallel_1",0.0]]"""
proj = CRSFactory.getCRSFactory().get(ICRSFactory.FORMAT_WKT_ESRI, wkt).getAbrev()
self.assertEqual(proj, "EPSG:3857")
def test_epsg6372(self):
wkt = """PROJCS["MEXICO_ITRF_2008_LCC",GEOGCS["MEXICO_ITRF_2008",DATUM["D_ITRF_2008",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",2500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-102.0],PARAMETER["Standard_Parallel_1",17.5],PARAMETER["Standard_Parallel_2",29.5],PARAMETER["Latitude_Of_Origin",12.0],UNIT["Meter",1.0]]"""
proj = CRSFactory.getCRSFactory().get(ICRSFactory.FORMAT_WKT_ESRI, wkt).getAbrev()
self.assertEqual(proj, "EPSG:6372")
def test_esri102164(self):
wkt = """PROJCS["Lisboa_Hayford_Gauss_IGeoE",GEOGCS["GCS_Datum_Lisboa_Hayford",DATUM["D_Datum_Lisboa_Hayford",SPHEROID["International_1924",6378388.0,297.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000.0],PARAMETER["False_Northing",300000.0],PARAMETER["Central_Meridian",-8.131906111111112],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1.0]]"""
proj = CRSFactory.getCRSFactory().get(ICRSFactory.FORMAT_WKT_ESRI, wkt).getAbrev()
self.assertEqual(proj, "ESRI:102164")
def main(*args):
suite = unittest.TestLoader().loadTestsFromTestCase(TestPrjRecognition)
unittest.TextTestRunner(verbosity=2).run(suite)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment