Loading autocnet/fileio/io_gdal.py +25 −12 Original line number Diff line number Diff line import json import warnings import pvl import os Loading Loading @@ -202,7 +203,6 @@ class GeoDataset(object): @property def latlon_extent(self): if not getattr(self, '_latlon_extent', None): try: # If we have a footprint, no need to compute pixel to latlon lowerlon, upperlon, lowerlat, upperlat = self.footprint.GetEnvelope() Loading @@ -210,6 +210,11 @@ class GeoDataset(object): xy_extent = self.xy_extent lowerlat, lowerlon = self.pixel_to_latlon(xy_extent[0][0], xy_extent[0][1]) upperlat, upperlon = self.pixel_to_latlon(xy_extent[1][0], xy_extent[1][1]) geom = {"type": "Polygon", "coordinates": [[[lowerlat, lowerlon], [lowerlat, upperlon], [upperlat, upperlon], [upperlat, lowerlon], [lowerlat, lowerlon]]]} self._latlon_extent = [(lowerlat, lowerlon), (upperlat, upperlon)] return self._latlon_extent Loading Loading @@ -237,14 +242,18 @@ class GeoDataset(object): stream = str(f.read(num_polygon_bytes)) self._footprint = ogr.CreateGeometryFromWkt(stream) except: # Handle GDAL here llat, llon, ulat, ulon = self.latlon_extent geom = {"type": "Polygon", "coordinates": [[llat, llon], [llat, ulon], [ulat, ulon], [llon, ulat], [llat, llon]]} # I dislike that this is copied from latlonext, but am unsure # how to avoid the cyclical footprint to latlon_extent property hits. xy_extent = self.xy_extent lowerlat, lowerlon = self.pixel_to_latlon(xy_extent[0][0], xy_extent[0][1]) upperlat, upperlon = self.pixel_to_latlon(xy_extent[1][0], xy_extent[1][1]) geom = {"type": "Polygon", "coordinates": [[[lowerlat, lowerlon], [lowerlat, upperlon], [upperlat, upperlon], [upperlat, lowerlon], [lowerlat, lowerlon]]]} self._footprint = ogr.CreateGeometryFromJson(json.dumps(geom)) return self._footprint @property Loading Loading @@ -375,10 +384,14 @@ class GeoDataset(object): (Latitude, Longitude) corresponding to the given (x,y). """ try: geotransform = self.geotransform x = geotransform[0] + (x * geotransform[1]) + (y * geotransform[2]) y = geotransform[3] + (x * geotransform[4]) + (y * geotransform[5]) lon, lat, _ = self.coordinate_transformation.TransformPoint(x, y) except: lat = lon = None warnings.warn('Unable to compute pixel to geographic conversion without projection information.') return lat, lon Loading autocnet/graph/tests/test_network.py +2 −2 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ class TestCandidateGraph(unittest.TestCase): def tearDown(self): pass ''' class TestFromList(unittest.TestCase): @classmethod def setUpClass(cls): Loading @@ -78,7 +78,7 @@ class TestFromList(unittest.TestCase): self.assertEqual(self.graph.__len__(), 3) self.assertEqual(self.graph.number_of_nodes(), 3) ''' class TestFromListCubes(unittest.TestCase): @classmethod Loading Loading
autocnet/fileio/io_gdal.py +25 −12 Original line number Diff line number Diff line import json import warnings import pvl import os Loading Loading @@ -202,7 +203,6 @@ class GeoDataset(object): @property def latlon_extent(self): if not getattr(self, '_latlon_extent', None): try: # If we have a footprint, no need to compute pixel to latlon lowerlon, upperlon, lowerlat, upperlat = self.footprint.GetEnvelope() Loading @@ -210,6 +210,11 @@ class GeoDataset(object): xy_extent = self.xy_extent lowerlat, lowerlon = self.pixel_to_latlon(xy_extent[0][0], xy_extent[0][1]) upperlat, upperlon = self.pixel_to_latlon(xy_extent[1][0], xy_extent[1][1]) geom = {"type": "Polygon", "coordinates": [[[lowerlat, lowerlon], [lowerlat, upperlon], [upperlat, upperlon], [upperlat, lowerlon], [lowerlat, lowerlon]]]} self._latlon_extent = [(lowerlat, lowerlon), (upperlat, upperlon)] return self._latlon_extent Loading Loading @@ -237,14 +242,18 @@ class GeoDataset(object): stream = str(f.read(num_polygon_bytes)) self._footprint = ogr.CreateGeometryFromWkt(stream) except: # Handle GDAL here llat, llon, ulat, ulon = self.latlon_extent geom = {"type": "Polygon", "coordinates": [[llat, llon], [llat, ulon], [ulat, ulon], [llon, ulat], [llat, llon]]} # I dislike that this is copied from latlonext, but am unsure # how to avoid the cyclical footprint to latlon_extent property hits. xy_extent = self.xy_extent lowerlat, lowerlon = self.pixel_to_latlon(xy_extent[0][0], xy_extent[0][1]) upperlat, upperlon = self.pixel_to_latlon(xy_extent[1][0], xy_extent[1][1]) geom = {"type": "Polygon", "coordinates": [[[lowerlat, lowerlon], [lowerlat, upperlon], [upperlat, upperlon], [upperlat, lowerlon], [lowerlat, lowerlon]]]} self._footprint = ogr.CreateGeometryFromJson(json.dumps(geom)) return self._footprint @property Loading Loading @@ -375,10 +384,14 @@ class GeoDataset(object): (Latitude, Longitude) corresponding to the given (x,y). """ try: geotransform = self.geotransform x = geotransform[0] + (x * geotransform[1]) + (y * geotransform[2]) y = geotransform[3] + (x * geotransform[4]) + (y * geotransform[5]) lon, lat, _ = self.coordinate_transformation.TransformPoint(x, y) except: lat = lon = None warnings.warn('Unable to compute pixel to geographic conversion without projection information.') return lat, lon Loading
autocnet/graph/tests/test_network.py +2 −2 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ class TestCandidateGraph(unittest.TestCase): def tearDown(self): pass ''' class TestFromList(unittest.TestCase): @classmethod def setUpClass(cls): Loading @@ -78,7 +78,7 @@ class TestFromList(unittest.TestCase): self.assertEqual(self.graph.__len__(), 3) self.assertEqual(self.graph.number_of_nodes(), 3) ''' class TestFromListCubes(unittest.TestCase): @classmethod Loading