Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions rasters/CRS.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
from __future__ import annotations

from typing import Any, Optional, Union

import math
import warnings
from collections import OrderedDict
from typing import Any, Optional, Union

import pyproj

import shapely.wkt

class CRS(pyproj.CRS):
"""
Expand Down
5 changes: 3 additions & 2 deletions rasters/bbox.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
from __future__ import annotations

from typing import List, Union
import warnings
from typing import List, Union

from .CRS import CRS, WGS84
from .spatial_geometry import SpatialGeometry
from .polygon import Polygon
from .spatial_geometry import SpatialGeometry


class BBox(SpatialGeometry):
"""
Expand Down
1 change: 0 additions & 1 deletion rasters/coordinate_array.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from pyproj import Transformer

from .CRS import CRS, WGS84
from .bbox import BBox
from .point import Point
from .spatial_geometry import SpatialGeometry

Expand Down
8 changes: 3 additions & 5 deletions rasters/kdtree.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
from __future__ import annotations

from typing import Union, Dict, TYPE_CHECKING

import warnings
from typing import Dict, TYPE_CHECKING

import msgpack
import msgpack_numpy
import numpy as np

from pyresample import SwathDefinition, AreaDefinition
from pyresample.kd_tree import get_neighbour_info, get_sample_from_neighbour_info
import msgpack
import msgpack_numpy

if TYPE_CHECKING:
from .raster_geometry import RasterGeometry
Expand Down
3 changes: 2 additions & 1 deletion rasters/multi_polygon.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@

from .CRS import CRS, WGS84
from .bbox import BBox
from .vector_geometry import VectorGeometry, MultiVectorGeometry
from .vector_geometry import MultiVectorGeometry


class MultiPolygon(MultiVectorGeometry):
"""
Expand Down
14 changes: 4 additions & 10 deletions rasters/multi_raster.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
from __future__ import annotations

from typing import Union, Tuple, List, Dict, TYPE_CHECKING

import warnings

import numpy as np
import h5py
from typing import Union, Tuple, List, TYPE_CHECKING

import PIL.Image
from PIL.Image import Image

import h5py
import matplotlib.pyplot as plt
import numpy as np
from PIL.Image import Image
from matplotlib.colors import Colormap
from matplotlib.figure import Figure
from matplotlib.ticker import FuncFormatter
from mpl_toolkits.axes_grid1 import make_axes_locatable
from matplotlib import colors

from .constants import *
from .raster import Raster
Expand Down
7 changes: 3 additions & 4 deletions rasters/point.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@
from shapely.geometry.base import CAP_STYLE, JOIN_STYLE

from rasters.wrap_geometry import wrap_geometry

from .constants import *
from .CRS import CRS, WGS84
from .vector_geometry import VectorGeometry, SingleVectorGeometry
from .polygon import Polygon
from .bbox import BBox
from .polygon import Polygon
from .vector_geometry import VectorGeometry, SingleVectorGeometry


class Point(SingleVectorGeometry):
"""
Expand Down
2 changes: 1 addition & 1 deletion rasters/polygon.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import shapely

from .CRS import CRS, WGS84
from .vector_geometry import VectorGeometry, SingleVectorGeometry
from .vector_geometry import SingleVectorGeometry

if TYPE_CHECKING:
from .bbox import BBox
Expand Down
64 changes: 23 additions & 41 deletions rasters/raster.py
Original file line number Diff line number Diff line change
@@ -1,66 +1,46 @@
from __future__ import annotations

from typing import Any, Union, Tuple, List, Dict, TYPE_CHECKING

import warnings

import io
import logging
import os
import warnings
from os import makedirs
from os.path import expanduser, exists, abspath, dirname, splitext
from typing import Any, Union, Tuple, List, TYPE_CHECKING

import io

# TODO get rid of six
from six import string_types

import logging

import numpy as np
import skimage

import shapely
import PIL.Image
import geopandas as gpd

import h5py
import matplotlib.pyplot as plt
import numpy as np
import rasterio
from rasterio.windows import Window
from rasterio.warp import reproject

import PIL.Image
import shapely
import skimage
from PIL.Image import Image

import matplotlib.pyplot as plt
from astropy.visualization import MinMaxInterval, AsymmetricPercentileInterval
from matplotlib import colors
from matplotlib.colors import Colormap
from matplotlib.figure import Figure
from matplotlib.ticker import FuncFormatter
from mpl_toolkits.axes_grid1 import make_axes_locatable
from matplotlib import colors

from astropy.visualization import MinMaxInterval, AsymmetricPercentileInterval
import h5py
from rasterio.warp import reproject
from rasterio.windows import Window

from .constants import *
from .where import where
from .wrap_geometry import wrap_geometry
from .CRS import WGS84
from .constants import *
from .raster_geolocation import RasterGeolocation
from .raster_geometry import RasterGeometry
from .raster_grid import RasterGrid
from .raster_geolocation import RasterGeolocation
from .where import where
from .wrap_geometry import wrap_geometry

if TYPE_CHECKING:
from .CRS import CRS
from .bbox import BBox
from .spatial_geometry import SpatialGeometry
from .coordinate_array import CoordinateArray
from .vector_geometry import VectorGeometry, SingleVectorGeometry, MultiVectorGeometry
from .vector_geometry import VectorGeometry, SingleVectorGeometry
from .point import Point
from .multi_point import MultiPoint
from .polygon import Polygon
from .multi_polygon import MultiPolygon
from .kdtree import KDTree
# from .raster_geometry import RasterGeometry
# from .raster_geolocation import RasterGeolocation
# from .raster_grid import RasterGrid
# from .raster import Raster
from .multi_raster import MultiRaster

class Raster:
Expand Down Expand Up @@ -633,7 +613,7 @@ def _key(self, key):
def __getitem__(self, key):
if isinstance(key, (slice, int, tuple)):
return self._key(key)
elif isinstance(key, string_types):
elif isinstance(key, str):
return self.metadata[key]
elif isinstance(key, (Raster, np.ndarray)):
result = self.array[key]
Expand All @@ -644,7 +624,7 @@ def __getitem__(self, key):
def __setitem__(self, key, value):
if isinstance(key, slice):
self.array[slice] = value
elif isinstance(key, string_types):
elif isinstance(key, str):
self.metadata[key] = value
elif isinstance(key, (Raster, np.ndarray)):
self.array[np.array(key)] = value
Expand Down Expand Up @@ -1079,6 +1059,8 @@ def to_grid(
destination = np.empty((grid.rows, grid.cols), destination_dtype)
elif len(self.shape) == 3:
destination = np.empty((self.shape[0], grid.rows, grid.cols), destination_dtype)
else:
raise ValueError(f"invalid raster dimensions: {self.shape}")

if str(self.dtype) == "bool":
source = source.astype(np.uint16)
Expand Down
13 changes: 2 additions & 11 deletions rasters/raster_geolocation.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,19 @@
from typing import Union, Tuple, Dict, TYPE_CHECKING

import numpy as np

from scipy.ndimage import zoom
from scipy.spatial import cKDTree
from scipy.spatial import cKDTree

from .CRS import WGS84

from .raster_geometry import RasterGeometry
from .wrap_geometry import wrap_geometry

if TYPE_CHECKING:
from .CRS import CRS
from .bbox import BBox
from .spatial_geometry import SpatialGeometry
from .coordinate_array import CoordinateArray
from .vector_geometry import VectorGeometry, SingleVectorGeometry, MultiVectorGeometry
from .point import Point
from .multi_point import MultiPoint
from .polygon import Polygon
from .multi_polygon import MultiPolygon
from .kdtree import KDTree
from .raster_grid import RasterGrid
from .raster import Raster


class RasterGeolocation(RasterGeometry):
"""
Expand Down
24 changes: 9 additions & 15 deletions rasters/raster_geometry.py
Original file line number Diff line number Diff line change
@@ -1,41 +1,35 @@
from __future__ import annotations

from typing import Union, List, Tuple, Dict, TYPE_CHECKING
from abc import abstractmethod

import json
import logging
import warnings
import json
from abc import abstractmethod
from typing import Union, List, Tuple, Dict, TYPE_CHECKING

import geopandas as gpd
import numpy as np

from pyproj import Transformer

import shapely
from shapely.ops import transform as shapely_transform
from shapely.geometry.base import BaseGeometry
import geopandas as gpd
from pyproj import Transformer
from scipy.ndimage import shift
from shapely.geometry.base import BaseGeometry
from shapely.ops import transform as shapely_transform

from .constants import *
from .CRS import WGS84
from .wrap_geometry import wrap_geometry
from .spatial_geometry import SpatialGeometry
from .wrap_geometry import wrap_geometry

if TYPE_CHECKING:
from .CRS import CRS
from .bbox import BBox
from .spatial_geometry import SpatialGeometry
from .coordinate_array import CoordinateArray
from .vector_geometry import VectorGeometry, SingleVectorGeometry, MultiVectorGeometry
from .point import Point
from .multi_point import MultiPoint
from .polygon import Polygon
from .multi_polygon import MultiPolygon
from .kdtree import KDTree
from .raster_geolocation import RasterGeolocation
from .raster_grid import RasterGrid
from .raster import Raster


class RasterGeometry(SpatialGeometry):
"""
Expand Down
1 change: 1 addition & 0 deletions rasters/raster_grid.py
Original file line number Diff line number Diff line change
Expand Up @@ -613,6 +613,7 @@ def rasterize(
in shapes
]

# TODO check in on the `rasterio.features` reference
image = Raster(
rasterio.features.rasterize(
shapes=shapes,
Expand Down
1 change: 1 addition & 0 deletions rasters/rasters.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""
This package manages the geographic information associated with data points in both swath and grid rasters.
"""
# noinspection PyUnusedImports
from .constants import *
from .CRS import CRS, WGS84
from .bbox import BBox
Expand Down
2 changes: 0 additions & 2 deletions rasters/spatial_geometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
from abc import abstractmethod
from typing import Union, TYPE_CHECKING

import numpy as np

from .CRS import CRS, WGS84
from .local_UTM_proj4_from_lat_lon import local_UTM_proj4_from_lat_lon

Expand Down
9 changes: 2 additions & 7 deletions rasters/vector_geometry.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
from __future__ import annotations

from typing import Union, Iterable, TYPE_CHECKING
from typing import Union

import shapely
import geopandas as gpd
import shapely
from pyproj import Transformer

from .CRS import CRS, WGS84
from .spatial_geometry import SpatialGeometry

from .wrap_geometry import wrap_geometry

if TYPE_CHECKING:
from .point import Point
from .multi_point import MultiPoint

class VectorGeometry(SpatialGeometry):
"""
Expand Down
2 changes: 1 addition & 1 deletion rasters/where.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from __future__ import annotations

from typing import Union, TYPE_CHECKING
from typing import TYPE_CHECKING

import numpy as np

Expand Down
Loading