jgrss / geowombat

GeoWombat: Utilities for geospatial data
https://geowombat.readthedocs.io
MIT License
184 stars 10 forks source link

'open' object has no attribute 'crs' #185

Closed pjhav closed 2 years ago

pjhav commented 2 years ago

Hi, I'm very excited about the prospects of geowombat making raster processing much easier! Thanks for doing this!

I'm still pretty new to Python, so maybe I am missing something with stacks. I'm trying to clip a raster stack but I get the 'open' object has no attribute 'crs' error. I tried using 'with' method as well as the code below and both return the same issue.

from geowombat.data import l8_224077_20200518_B2, l8_224077_20200518_B3,l8_224078_20200518_polygons src= gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3], stack_dim="band", band_names=["B2", "B3"]) srccl = gw.clip(src, l8_224078_20200518_polygons)

returns:

AttributeError Traceback (most recent call last) File ~\Miniconda3\envs\gwenv\lib\site-packages\geowombat\core\sops.py:798, in SpatialOperations.clip(self, data, df, query, mask_data, expand_by) 796 try: --> 798 if data.crs.strip() != CRS.from_dict(dfcrs).to_proj4().strip(): 799 df = df.to_crs(data.crs)

AttributeError: 'open' object has no attribute 'crs'

During handling of the above exception, another exception occurred:

AttributeError Traceback (most recent call last) Input In [62], in <cell line: 5>() 1 from geowombat.data import l8_224077_20200518_B2, l8_224077_20200518_B3,l8_224078_20200518_polygons 2 src= gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3], 3 stack_dim="band", 4 band_names=["B2", "B3"]) ----> 5 srccl = gw.clip(src, l8_224078_20200518_polygons)

File ~\Miniconda3\envs\gwenv\lib\site-packages\geowombat\core\sops.py:803, in SpatialOperations.clip(self, data, df, query, mask_data, expand_by) 799 df = df.to_crs(data.crs) 801 except: --> 803 if data.crs.strip() != CRS.from_proj4(dfcrs).to_proj4().strip(): 804 df = df.to_crs(data.crs) 806 row_chunks = data.gw.row_chunks

AttributeError: 'open' object has no attribute 'crs'

If I try the self method:

from geowombat.data import l8_224077_20200518_B2, l8_224077_20200518_B3,l8_224078_20200518_polygons src= gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3], stack_dim="band", band_names=["B2", "B3"]) srccl = src.gw.clip( l8_224078_20200518_polygons)

I get the error:


AttributeError Traceback (most recent call last) Input In [66], in <cell line: 5>() 1 from geowombat.data import l8_224077_20200518_B2, l8_224077_20200518_B3,l8_224078_20200518_polygons 2 src= gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3], 3 stack_dim="band", 4 band_names=["B2", "B3"]) ----> 5 srccl = src.gw.clip( l8_224078_20200518_polygons)

AttributeError: 'open' object has no attribute 'gw'

Maybe I'm doing something incorrect with stacks, as I am not able to use to_raster with them either (added a note to https://github.com/jgrss/geowombat/issues/184 as well).

Thanks! Paul

mmann1123 commented 2 years ago

did you import geowombat as gw first?

pjhav commented 2 years ago

Yes, sorry, should have included that as well, as in yes, I have imported.

mmann1123 commented 2 years ago
import geowombat as gw 
from geowombat.data import l8_224077_20200518_B2, l8_224077_20200518_B3,l8_224078_20200518_polygons
with gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3],
stack_dim="band",
band_names=["B2", "B3"]) as src:
    print(src)
    srccl = gw.clip(src, l8_224078_20200518_polygons)

The following is working for me. Please try

pjhav commented 2 years ago

Thanks for trying. Unfortunately I get an error.

Here is the output: <xarray.DataArray (band: 2, y: 1515, x: 2006)> dask.array<concatenate, shape=(2, 1515, 2006), dtype=uint16, chunksize=(1, 256, 256), chunktype=numpy.ndarray> Coordinates:

AttributeError: 'int' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

AttributeError Traceback (most recent call last) Input In [70], in <cell line: 3>() 3 with gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3], 4 stack_dim="band", 5 band_names=["B2", "B3"]) as src: 6 print(src) ----> 7 srccl = gw.clip(src, l8_224078_20200518_polygons)

File ~\Miniconda3\envs\gwenv\lib\site-packages\geowombat\core\sops.py:803, in SpatialOperations.clip(self, data, df, query, mask_data, expand_by) 799 df = df.to_crs(data.crs) 801 except: --> 803 if data.crs.strip() != CRS.from_proj4(dfcrs).to_proj4().strip(): 804 df = df.to_crs(data.crs) 806 row_chunks = data.gw.row_chunks

AttributeError: 'int' object has no attribute 'strip'

mmann1123 commented 2 years ago

Hmmm... Starting to think this might be an install issue. Can you try installing from git using:

pip install git+https://github.com/jgrss/geowombat

pjhav commented 2 years ago

I had previously done the conda install, but I tried !pip install git+https://github.com/jgrss/geowombat import geowombat as gw from geowombat.data import l8_224077_20200518_B2, l8_224077_20200518_B3,l8_224078_20200518_polygons

with gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3],
stack_dim="band",
band_names=["B2", "B3"]) as src:
    print(src)
    srccl = gw.clip(src, l8_224078_20200518_polygons)

here is the output:

Collecting git+https://github.com/jgrss/geowombat Cloning https://github.com/jgrss/geowombat to c:\users\paul.haverkamp\appdata\local\temp\pip-req-build-euc86c1z Resolved https://github.com/jgrss/geowombat to commit 6ca6ef42db1c28e40884c070baf511d63c3924fe Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: retry in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (0.9.2) Requirement already satisfied: dask[array,dataframe]>=2021. in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (2022.8.1) Requirement already satisfied: joblib>=0.16.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.1.0) Requirement already satisfied: numpy>=1.19.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.22.4) Requirement already satisfied: opencv-python in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (4.6.0.66) Requirement already satisfied: requests>=2.20.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (2.28.1) Requirement already satisfied: xarray>=0.17.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (2022.3.0) Requirement already satisfied: scikit-learn>=0.23.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.1.2) Requirement already satisfied: cryptography in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (37.0.4) Requirement already satisfied: tqdm>=4.62.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (4.64.0) Requirement already satisfied: geopandas>=0.8.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (0.9.0) Requirement already satisfied: matplotlib>=3.3.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (3.5.3) Requirement already satisfied: scipy>=1.5.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.9.0) Requirement already satisfied: distributed>=2021. in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (2022.8.1) Requirement already satisfied: pyproj>=2.6.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (3.3.1) Requirement already satisfied: shapely>=1.7.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.8.4) Requirement already satisfied: pandas>=1. in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.4.3) Requirement already satisfied: rasterio<2.0.0,>=1.3.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.3.2) Requirement already satisfied: cloudpickle>=1.1.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (2.1.0) Requirement already satisfied: packaging>=20.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (21.3) Requirement already satisfied: toolz>=0.8.2 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (0.12.0) Requirement already satisfied: partd>=0.3.10 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (1.3.0) Requirement already satisfied: fsspec>=0.6.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (2022.7.1) Requirement already satisfied: pyyaml>=5.3.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (6.0) Requirement already satisfied: zict>=0.1.3 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (2.2.0) Requirement already satisfied: psutil>=5.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (5.9.1) Requirement already satisfied: sortedcontainers!=2.0.0,!=2.0.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (2.4.0) Requirement already satisfied: urllib3 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (1.26.12) Requirement already satisfied: locket>=1.0.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (1.0.0) Requirement already satisfied: msgpack>=0.6.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (1.0.4) Requirement already satisfied: tblib>=1.6.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (1.7.0) Requirement already satisfied: click>=6.6 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (8.1.3) Requirement already satisfied: jinja2 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (3.1.2) Requirement already satisfied: tornado<6.2,>=6.0.3 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (6.1) Requirement already satisfied: fiona>=1.8 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geopandas>=0.8.0->geowombat==1.11.3) (1.8.21) Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (1.4.4) Requirement already satisfied: fonttools>=4.22.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (4.36.0) Requirement already satisfied: pyparsing>=2.2.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (3.0.9) Requirement already satisfied: pillow>=6.2.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (9.2.0) Requirement already satisfied: cycler>=0.10 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (0.11.0) Requirement already satisfied: python-dateutil>=2.7 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (2.8.2) Requirement already satisfied: pytz>=2020.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from pandas>=1.->geowombat==1.11.3) (2022.2.1) Requirement already satisfied: certifi in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from pyproj>=2.6.0->geowombat==1.11.3) (2022.6.15) Requirement already satisfied: setuptools in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (65.2.0) Requirement already satisfied: cligj>=0.5 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (0.7.2) Requirement already satisfied: click-plugins in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (1.1.1) Requirement already satisfied: attrs in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (22.1.0) Requirement already satisfied: affine in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (2.3.1) Requirement already satisfied: snuggs>=1.4.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (1.4.7) Requirement already satisfied: idna<4,>=2.5 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from requests>=2.20.0->geowombat==1.11.3) (3.3) Requirement already satisfied: charset-normalizer<3,>=2 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from requests>=2.20.0->geowombat==1.11.3) (2.1.1) Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from scikit-learn>=0.23.0->geowombat==1.11.3) (3.1.0) Requirement already satisfied: colorama in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from tqdm>=4.62.0->geowombat==1.11.3) (0.4.5) Requirement already satisfied: cffi>=1.12 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from cryptography->geowombat==1.11.3) (1.15.1) Requirement already satisfied: py<2.0.0,>=1.4.26 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from retry->geowombat==1.11.3) (1.11.0) Requirement already satisfied: decorator>=3.4.2 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from retry->geowombat==1.11.3) (5.1.1) Requirement already satisfied: pycparser in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from cffi>=1.12->cryptography->geowombat==1.11.3) (2.21) Requirement already satisfied: six>=1.7 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from fiona>=1.8->geopandas>=0.8.0->geowombat==1.11.3) (1.16.0) Requirement already satisfied: munch in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from fiona>=1.8->geopandas>=0.8.0->geowombat==1.11.3) (2.5.0) Requirement already satisfied: heapdict in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from zict>=0.1.3->distributed>=2021.->geowombat==1.11.3) (1.0.1) Requirement already satisfied: MarkupSafe>=2.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from jinja2->distributed>=2021.->geowombat==1.11.3) (2.1.1) <xarray.DataArray (band: 2, y: 1515, x: 2006)> dask.array<concatenate, shape=(2, 1515, 2006), dtype=uint16, chunksize=(1, 256, 256), chunktype=numpy.ndarray> Coordinates:

AttributeError: 'int' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

AttributeError Traceback (most recent call last) Input In [72], in <cell line: 4>() 4 with gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3], 5 stack_dim="band", 6 band_names=["B2", "B3"]) as src: 7 print(src) ----> 8 srccl = gw.clip(src, l8_224078_20200518_polygons)

File ~\Miniconda3\envs\gwenv\lib\site-packages\geowombat\core\sops.py:803, in SpatialOperations.clip(self, data, df, query, mask_data, expand_by) 799 df = df.to_crs(data.crs) 801 except: --> 803 if data.crs.strip() != CRS.from_proj4(dfcrs).to_proj4().strip(): 804 df = df.to_crs(data.crs) 806 row_chunks = data.gw.row_chunks

AttributeError: 'int' object has no attribute 'strip'

mmann1123 commented 2 years ago

Sorry one more thing. Can you create a new conda environment and do a fresh install there? I haven't seen this before and I can't replicate it.

On Wed, Aug 24, 2022 at 11:59 AM pjhav @.***> wrote:

I had previously done the conda install, but I tried what you sent as well, here is the output:

Collecting git+https://github.com/jgrss/geowombat Cloning https://github.com/jgrss/geowombat to c:\users\paul.haverkamp\appdata\local\temp\pip-req-build-euc86c1z Resolved https://github.com/jgrss/geowombat to commit 6ca6ef4 https://github.com/jgrss/geowombat/commit/6ca6ef42db1c28e40884c070baf511d63c3924fe Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: retry in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (0.9.2) Requirement already satisfied: dask[array,dataframe]>=2021. in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (2022.8.1) Requirement already satisfied: joblib>=0.16.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.1.0) Requirement already satisfied: numpy>=1.19.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.22.4) Requirement already satisfied: opencv-python in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (4.6.0.66) Requirement already satisfied: requests>=2.20.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (2.28.1) Requirement already satisfied: xarray>=0.17.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (2022.3.0) Requirement already satisfied: scikit-learn>=0.23.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.1.2) Requirement already satisfied: cryptography in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (37.0.4) Requirement already satisfied: tqdm>=4.62.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (4.64.0) Requirement already satisfied: geopandas>=0.8.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (0.9.0) Requirement already satisfied: matplotlib>=3.3.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (3.5.3) Requirement already satisfied: scipy>=1.5.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.9.0) Requirement already satisfied: distributed>=2021. in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (2022.8.1) Requirement already satisfied: pyproj>=2.6.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (3.3.1) Requirement already satisfied: shapely>=1.7.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.8.4) Requirement already satisfied: pandas>=1. in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.4.3) Requirement already satisfied: rasterio<2.0.0,>=1.3.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geowombat==1.11.3) (1.3.2) Requirement already satisfied: cloudpickle>=1.1.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021. ->geowombat==1.11.3) (2.1.0) Requirement already satisfied: packaging>=20.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (21.3) Requirement already satisfied: toolz>=0.8.2 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021. ->geowombat==1.11.3) (0.12.0) Requirement already satisfied: partd>=0.3.10 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (1.3.0) Requirement already satisfied: fsspec>=0.6.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021. ->geowombat==1.11.3) (2022.7.1) Requirement already satisfied: pyyaml>=5.3.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from dask[array,dataframe]>=2021.->geowombat==1.11.3) (6.0) Requirement already satisfied: zict>=0.1.3 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021. ->geowombat==1.11.3) (2.2.0) Requirement already satisfied: psutil>=5.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (5.9.1) Requirement already satisfied: sortedcontainers!=2.0.0,!=2.0.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021. ->geowombat==1.11.3) (2.4.0) Requirement already satisfied: urllib3 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (1.26.12) Requirement already satisfied: locket>=1.0.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021. ->geowombat==1.11.3) (1.0.0) Requirement already satisfied: msgpack>=0.6.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (1.0.4) Requirement already satisfied: tblib>=1.6.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021. ->geowombat==1.11.3) (1.7.0) Requirement already satisfied: click>=6.6 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.->geowombat==1.11.3) (8.1.3) Requirement already satisfied: jinja2 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021. ->geowombat==1.11.3) (3.1.2) Requirement already satisfied: tornado<6.2,>=6.0.3 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from distributed>=2021.*->geowombat==1.11.3) (6.1) Requirement already satisfied: fiona>=1.8 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from geopandas>=0.8.0->geowombat==1.11.3) (1.8.21) Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (1.4.4) Requirement already satisfied: fonttools>=4.22.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (4.36.0) Requirement already satisfied: pyparsing>=2.2.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (3.0.9) Requirement already satisfied: pillow>=6.2.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (9.2.0) Requirement already satisfied: cycler>=0.10 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (0.11.0) Requirement already satisfied: python-dateutil>=2.7 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from matplotlib>=3.3.0->geowombat==1.11.3) (2.8.2) Requirement already satisfied: pytz>=2020.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from pandas>=1.

->geowombat==1.11.3) (2022.2.1) Requirement already satisfied: certifi in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from pyproj>=2.6.0->geowombat==1.11.3) (2022.6.15) Requirement already satisfied: setuptools in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (65.2.0) Requirement already satisfied: cligj>=0.5 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (0.7.2) Requirement already satisfied: click-plugins in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (1.1.1) Requirement already satisfied: attrs in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (22.1.0) Requirement already satisfied: affine in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (2.3.1) Requirement already satisfied: snuggs>=1.4.1 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from rasterio<2.0.0,>=1.3.0->geowombat==1.11.3) (1.4.7) Requirement already satisfied: idna<4,>=2.5 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from requests>=2.20.0->geowombat==1.11.3) (3.3) Requirement already satisfied: charset-normalizer<3,>=2 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from requests>=2.20.0->geowombat==1.11.3) (2.1.1) Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from scikit-learn>=0.23.0->geowombat==1.11.3) (3.1.0) Requirement already satisfied: colorama in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from tqdm>=4.62.0->geowombat==1.11.3) (0.4.5) Requirement already satisfied: cffi>=1.12 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from cryptography->geowombat==1.11.3) (1.15.1) Requirement already satisfied: py<2.0.0,>=1.4.26 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from retry->geowombat==1.11.3) (1.11.0) Requirement already satisfied: decorator>=3.4.2 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from retry->geowombat==1.11.3) (5.1.1) Requirement already satisfied: pycparser in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from cffi>=1.12->cryptography->geowombat==1.11.3) (2.21) Requirement already satisfied: six>=1.7 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from fiona>=1.8->geopandas>=0.8.0->geowombat==1.11.3) (1.16.0) Requirement already satisfied: munch in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from fiona>=1.8->geopandas>=0.8.0->geowombat==1.11.3) (2.5.0) Requirement already satisfied: heapdict in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from zict>=0.1.3->distributed>=2021.->geowombat==1.11.3) (1.0.1) Requirement already satisfied: MarkupSafe>=2.0 in c:\users\paul.haverkamp\miniconda3\envs\gwenv\lib\site-packages (from jinja2->distributed>=2021.*->geowombat==1.11.3) (2.1.1) <xarray.DataArray (band: 2, y: 1515, x: 2006)> dask.array<concatenate, shape=(2, 1515, 2006), dtype=uint16, chunksize=(1, 256, 256), chunktype=numpy.ndarray> Coordinates:

  • band (band) <U2 'B2' 'B3'
  • y (y) float64 -2.767e+06 -2.767e+06 ... -2.812e+06 -2.812e+06
  • x (x) float64 6.94e+05 6.940e+05 6.941e+05 ... 7.541e+05 7.542e+05 Attributes: transform: (30.0, 0.0, 694005.0, 0.0, -30.0, -2766615.0) crs: 32621 res: (30.0, 30.0) is_tiled: 1 nodatavals: (nan,) scales: (1.0,) offsets: (0.0,) AREA_OR_POINT: Point filename: ['LC08_L1TP_224077_20200518_20200518_01_RT_B2.TIF', '... resampling: nearest data_are_separate: 1 data_are_stacked: 1 Running command git clone --filter=blob:none --quiet https://github.com/jgrss/geowombat 'C:\Users\paul.haverkamp\AppData\Local\Temp\pip-req-build-euc86c1z'

AttributeError Traceback (most recent call last) File ~\Miniconda3\envs\gwenv\lib\site-packages\geowombat\core\sops.py:798, in SpatialOperations.clip(self, data, df, query, mask_data, expand_by) 796 try: --> 798 if data.crs.strip() != CRS.from_dict(dfcrs).to_proj4().strip(): 799 df = df.to_crs(data.crs)

AttributeError: 'int' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

AttributeError Traceback (most recent call last) Input In [72], in <cell line: 4>() 4 with gw.open([l8_224077_20200518_B2, l8_224077_20200518_B3], 5 stack_dim="band", 6 band_names=["B2", "B3"]) as src: 7 print(src) ----> 8 srccl = gw.clip(src, l8_224078_20200518_polygons)

File ~\Miniconda3\envs\gwenv\lib\site-packages\geowombat\core\sops.py:803, in SpatialOperations.clip(self, data, df, query, mask_data, expand_by) 799 df = df.to_crs(data.crs) 801 except: --> 803 if data.crs.strip() != CRS.from_proj4(dfcrs).to_proj4().strip(): 804 df = df.to_crs(data.crs) 806 row_chunks = data.gw.row_chunks

AttributeError: 'int' object has no attribute 'strip'

— Reply to this email directly, view it on GitHub https://github.com/jgrss/geowombat/issues/185#issuecomment-1225920985, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABHR6VAUDSDL5LAVAF3TW2DV2ZBGLANCNFSM57PIYAIQ . You are receiving this because you commented.Message ID: @.***>

pjhav commented 2 years ago

I did a clean install into a new environment and still have the same issue.

pjhav commented 2 years ago

I'm using rioxarry to clip for now. Thanks for investigating!

mmann1123 commented 2 years ago

Ok sorry, glad you found a work around. Still cant reproduce on my end. Just so I can come back to this, are you working on mac/windows?

pjhav commented 2 years ago

Thanks for looking into it! I'm on Windows. Let me know if you want any more information.

jgrss commented 2 years ago

@pjhav I wonder if the issue is how you are opening the data.

Can you confirm that you are opening the data like:

src= gw.open(
    [l8_224077_20200518_B2, l8_224077_20200518_B3],
    stack_dim="band",
    band_names=["B2", "B3"]
)

and not like the following:

with gw.open(
    [l8_224077_20200518_B2, l8_224077_20200518_B3],
    stack_dim="band",
    band_names=["B2", "B3"]
) as src:

The second method is the correct way to open an image, so if you are still getting the error using that approach I can investigate further.

jgrss commented 2 years ago

Apologies, now I see that you tried a context opener. Can you try the following and let me know if it works for you?

with gw.open(
    [l8_224077_20200518_B2, l8_224077_20200518_B3],
    stack_dim="band",
    band_names=["B2", "B3"]
) as src:
    src = src.assign_attrs({'crs': "+proj=utm +zone=21 +datum=WGS84 +units=m +no_defs +type=crs"})
    srccl = gw.clip(src, l8_224078_20200518_polygons)
jgrss commented 2 years ago

Should be addressed with https://github.com/jgrss/geowombat/pull/189.

pjhav commented 2 years ago

Sorry for the delay, I have been on holiday. The clip is working now, thank you!