Test1
In [1]:
Copied!
%pip install rasterarea
%pip install rasterarea
Requirement already satisfied: rasterarea in /home/runner/.local/lib/python3.9/site-packages (0.0.6) Requirement already satisfied: folium in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (0.14.0) Requirement already satisfied: ipyleaflet in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (0.17.2) Requirement already satisfied: ipywidgets in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (8.0.6) Requirement already satisfied: geopandas in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (0.13.0) Requirement already satisfied: httpx in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (0.24.0) Requirement already satisfied: rasterio in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (1.3.6) Requirement already satisfied: lidario in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (0.3.0) Requirement already satisfied: numpy in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (1.24.3) Requirement already satisfied: pandas in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (2.0.1) Requirement already satisfied: geojson in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (3.0.1) Requirement already satisfied: xyzservices in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (2023.2.0) Requirement already satisfied: geemap in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (0.20.6) Requirement already satisfied: matplotlib in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (3.7.1) Requirement already satisfied: ipyfilechooser in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (0.6.0) Requirement already satisfied: netCDF4 in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (1.6.3) Requirement already satisfied: traitlets in /home/runner/.local/lib/python3.9/site-packages (from rasterarea) (5.9.0) Requirement already satisfied: branca>=0.6.0 in /home/runner/.local/lib/python3.9/site-packages (from folium->rasterarea) (0.6.0) Requirement already satisfied: jinja2>=2.9 in /home/runner/.local/lib/python3.9/site-packages (from folium->rasterarea) (3.1.2) Requirement already satisfied: requests in /home/runner/.local/lib/python3.9/site-packages (from folium->rasterarea) (2.30.0) Requirement already satisfied: bqplot in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (0.12.39) Requirement already satisfied: colour in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (0.1.5) Requirement already satisfied: earthengine-api>=0.1.347 in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (0.1.353) Requirement already satisfied: eerepr>=0.0.4 in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (0.0.4) Requirement already satisfied: geocoder in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (1.38.1) Requirement already satisfied: ipyevents in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (2.0.1) Requirement already satisfied: ipytree in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (0.2.2) Requirement already satisfied: plotly in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (5.14.1) Requirement already satisfied: pyperclip in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (1.8.2) Requirement already satisfied: python-box in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (7.0.1) Requirement already satisfied: scooby in /home/runner/.local/lib/python3.9/site-packages (from geemap->rasterarea) (0.7.2) Requirement already satisfied: traittypes<3,>=0.2.1 in /home/runner/.local/lib/python3.9/site-packages (from ipyleaflet->rasterarea) (0.2.1) Requirement already satisfied: ipykernel>=4.5.1 in /home/runner/.local/lib/python3.9/site-packages (from ipywidgets->rasterarea) (6.23.0) Requirement already satisfied: ipython>=6.1.0 in /home/runner/.local/lib/python3.9/site-packages (from ipywidgets->rasterarea) (8.13.2) Requirement already satisfied: widgetsnbextension~=4.0.7 in /home/runner/.local/lib/python3.9/site-packages (from ipywidgets->rasterarea) (4.0.7) Requirement already satisfied: jupyterlab-widgets~=3.0.7 in /home/runner/.local/lib/python3.9/site-packages (from ipywidgets->rasterarea) (3.0.7) Requirement already satisfied: fiona>=1.8.19 in /home/runner/.local/lib/python3.9/site-packages (from geopandas->rasterarea) (1.9.3) Requirement already satisfied: packaging in /home/runner/.local/lib/python3.9/site-packages (from geopandas->rasterarea) (23.1) Requirement already satisfied: pyproj>=3.0.1 in /home/runner/.local/lib/python3.9/site-packages (from geopandas->rasterarea) (3.5.0) Requirement already satisfied: shapely>=1.7.1 in /home/runner/.local/lib/python3.9/site-packages (from geopandas->rasterarea) (2.0.1) Requirement already satisfied: python-dateutil>=2.8.2 in /home/runner/.local/lib/python3.9/site-packages (from pandas->rasterarea) (2.8.2) Requirement already satisfied: pytz>=2020.1 in /home/runner/.local/lib/python3.9/site-packages (from pandas->rasterarea) (2023.3) Requirement already satisfied: tzdata>=2022.1 in /home/runner/.local/lib/python3.9/site-packages (from pandas->rasterarea) (2023.3) Requirement already satisfied: certifi in /home/runner/.local/lib/python3.9/site-packages (from httpx->rasterarea) (2023.5.7) Requirement already satisfied: httpcore<0.18.0,>=0.15.0 in /home/runner/.local/lib/python3.9/site-packages (from httpx->rasterarea) (0.17.0) Requirement already satisfied: idna in /home/runner/.local/lib/python3.9/site-packages (from httpx->rasterarea) (3.4) Requirement already satisfied: sniffio in /home/runner/.local/lib/python3.9/site-packages (from httpx->rasterarea) (1.3.0) Requirement already satisfied: plyfile in /home/runner/.local/lib/python3.9/site-packages (from lidario->rasterarea) (0.9) Requirement already satisfied: contourpy>=1.0.1 in /home/runner/.local/lib/python3.9/site-packages (from matplotlib->rasterarea) (1.0.7) Requirement already satisfied: cycler>=0.10 in /home/runner/.local/lib/python3.9/site-packages (from matplotlib->rasterarea) (0.11.0) Requirement already satisfied: fonttools>=4.22.0 in /home/runner/.local/lib/python3.9/site-packages (from matplotlib->rasterarea) (4.39.4) Requirement already satisfied: kiwisolver>=1.0.1 in /home/runner/.local/lib/python3.9/site-packages (from matplotlib->rasterarea) (1.4.4) Requirement already satisfied: pillow>=6.2.0 in /home/runner/.local/lib/python3.9/site-packages (from matplotlib->rasterarea) (9.5.0) Requirement already satisfied: pyparsing>=2.3.1 in /home/runner/.local/lib/python3.9/site-packages (from matplotlib->rasterarea) (3.0.9) Requirement already satisfied: importlib-resources>=3.2.0 in /home/runner/.local/lib/python3.9/site-packages (from matplotlib->rasterarea) (5.12.0) Requirement already satisfied: cftime in /home/runner/.local/lib/python3.9/site-packages (from netCDF4->rasterarea) (1.6.2) Requirement already satisfied: affine in /home/runner/.local/lib/python3.9/site-packages (from rasterio->rasterarea) (2.4.0) Requirement already satisfied: attrs in /home/runner/.local/lib/python3.9/site-packages (from rasterio->rasterarea) (23.1.0) Requirement already satisfied: click>=4.0 in /home/runner/.local/lib/python3.9/site-packages (from rasterio->rasterarea) (8.1.3) Requirement already satisfied: cligj>=0.5 in /home/runner/.local/lib/python3.9/site-packages (from rasterio->rasterarea) (0.7.2) Requirement already satisfied: snuggs>=1.4.1 in /home/runner/.local/lib/python3.9/site-packages (from rasterio->rasterarea) (1.4.7) Requirement already satisfied: click-plugins in /home/runner/.local/lib/python3.9/site-packages (from rasterio->rasterarea) (1.1.1) Requirement already satisfied: setuptools in /opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/site-packages (from rasterio->rasterarea) (58.1.0) Requirement already satisfied: google-cloud-storage in /home/runner/.local/lib/python3.9/site-packages (from earthengine-api>=0.1.347->geemap->rasterarea) (2.9.0) Requirement already satisfied: google-api-python-client>=1.12.1 in /home/runner/.local/lib/python3.9/site-packages (from earthengine-api>=0.1.347->geemap->rasterarea) (2.86.0) Requirement already satisfied: google-auth>=1.4.1 in /home/runner/.local/lib/python3.9/site-packages (from earthengine-api>=0.1.347->geemap->rasterarea) (2.18.0) Requirement already satisfied: google-auth-httplib2>=0.0.3 in /home/runner/.local/lib/python3.9/site-packages (from earthengine-api>=0.1.347->geemap->rasterarea) (0.1.0) Requirement already satisfied: httplib2<1dev,>=0.9.2 in /home/runner/.local/lib/python3.9/site-packages (from earthengine-api>=0.1.347->geemap->rasterarea) (0.22.0) Requirement already satisfied: munch>=2.3.2 in /home/runner/.local/lib/python3.9/site-packages (from fiona>=1.8.19->geopandas->rasterarea) (2.5.0) Requirement already satisfied: importlib-metadata in /home/runner/.local/lib/python3.9/site-packages (from fiona>=1.8.19->geopandas->rasterarea) (6.6.0) Requirement already satisfied: h11<0.15,>=0.13 in /home/runner/.local/lib/python3.9/site-packages (from httpcore<0.18.0,>=0.15.0->httpx->rasterarea) (0.14.0) Requirement already satisfied: anyio<5.0,>=3.0 in /home/runner/.local/lib/python3.9/site-packages (from httpcore<0.18.0,>=0.15.0->httpx->rasterarea) (3.6.2) Requirement already satisfied: zipp>=3.1.0 in /home/runner/.local/lib/python3.9/site-packages (from importlib-resources>=3.2.0->matplotlib->rasterarea) (3.15.0) Requirement already satisfied: comm>=0.1.1 in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (0.1.3) Requirement already satisfied: debugpy>=1.6.5 in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (1.6.7) Requirement already satisfied: jupyter-client>=6.1.12 in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (8.2.0) Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (5.3.0) Requirement already satisfied: matplotlib-inline>=0.1 in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (0.1.6) Requirement already satisfied: nest-asyncio in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (1.5.6) Requirement already satisfied: psutil in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (5.9.5) Requirement already satisfied: pyzmq>=20 in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (25.0.2) Requirement already satisfied: tornado>=6.1 in /home/runner/.local/lib/python3.9/site-packages (from ipykernel>=4.5.1->ipywidgets->rasterarea) (6.3.1) Requirement already satisfied: backcall in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (0.2.0) Requirement already satisfied: decorator in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (5.1.1) Requirement already satisfied: jedi>=0.16 in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (0.18.2) Requirement already satisfied: pickleshare in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (0.7.5) Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (3.0.38) Requirement already satisfied: pygments>=2.4.0 in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (2.15.1) Requirement already satisfied: stack-data in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (0.6.2) Requirement already satisfied: typing-extensions in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (4.5.0) Requirement already satisfied: pexpect>4.3 in /home/runner/.local/lib/python3.9/site-packages (from ipython>=6.1.0->ipywidgets->rasterarea) (4.8.0) Requirement already satisfied: MarkupSafe>=2.0 in /home/runner/.local/lib/python3.9/site-packages (from jinja2>=2.9->folium->rasterarea) (2.1.2) Requirement already satisfied: six>=1.5 in /home/runner/.local/lib/python3.9/site-packages (from python-dateutil>=2.8.2->pandas->rasterarea) (1.16.0) Requirement already satisfied: future in /home/runner/.local/lib/python3.9/site-packages (from geocoder->geemap->rasterarea) (0.18.3) Requirement already satisfied: ratelim in /home/runner/.local/lib/python3.9/site-packages (from geocoder->geemap->rasterarea) (0.1.6) Requirement already satisfied: tenacity>=6.2.0 in /home/runner/.local/lib/python3.9/site-packages (from plotly->geemap->rasterarea) (8.2.2) Requirement already satisfied: charset-normalizer<4,>=2 in /home/runner/.local/lib/python3.9/site-packages (from requests->folium->rasterarea) (3.1.0) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/runner/.local/lib/python3.9/site-packages (from requests->folium->rasterarea) (1.26.15) Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5 in /home/runner/.local/lib/python3.9/site-packages (from google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap->rasterarea) (2.11.0) Requirement already satisfied: uritemplate<5,>=3.0.1 in /home/runner/.local/lib/python3.9/site-packages (from google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap->rasterarea) (4.1.1) Requirement already satisfied: cachetools<6.0,>=2.0.0 in /home/runner/.local/lib/python3.9/site-packages (from google-auth>=1.4.1->earthengine-api>=0.1.347->geemap->rasterarea) (5.3.0) Requirement already satisfied: pyasn1-modules>=0.2.1 in /home/runner/.local/lib/python3.9/site-packages (from google-auth>=1.4.1->earthengine-api>=0.1.347->geemap->rasterarea) (0.3.0) Requirement already satisfied: rsa<5,>=3.1.4 in /home/runner/.local/lib/python3.9/site-packages (from google-auth>=1.4.1->earthengine-api>=0.1.347->geemap->rasterarea) (4.9) Requirement already satisfied: parso<0.9.0,>=0.8.0 in /home/runner/.local/lib/python3.9/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets->rasterarea) (0.8.3) Requirement already satisfied: platformdirs>=2.5 in /home/runner/.local/lib/python3.9/site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel>=4.5.1->ipywidgets->rasterarea) (3.5.1) Requirement already satisfied: ptyprocess>=0.5 in /home/runner/.local/lib/python3.9/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets->rasterarea) (0.7.0) Requirement already satisfied: wcwidth in /home/runner/.local/lib/python3.9/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=6.1.0->ipywidgets->rasterarea) (0.2.6) Requirement already satisfied: google-cloud-core<3.0dev,>=2.3.0 in /home/runner/.local/lib/python3.9/site-packages (from google-cloud-storage->earthengine-api>=0.1.347->geemap->rasterarea) (2.3.2) Requirement already satisfied: google-resumable-media>=2.3.2 in /home/runner/.local/lib/python3.9/site-packages (from google-cloud-storage->earthengine-api>=0.1.347->geemap->rasterarea) (2.5.0) Requirement already satisfied: executing>=1.2.0 in /home/runner/.local/lib/python3.9/site-packages (from stack-data->ipython>=6.1.0->ipywidgets->rasterarea) (1.2.0) Requirement already satisfied: asttokens>=2.1.0 in /home/runner/.local/lib/python3.9/site-packages (from stack-data->ipython>=6.1.0->ipywidgets->rasterarea) (2.2.1) Requirement already satisfied: pure-eval in /home/runner/.local/lib/python3.9/site-packages (from stack-data->ipython>=6.1.0->ipywidgets->rasterarea) (0.2.2) Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.56.2 in /home/runner/.local/lib/python3.9/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap->rasterarea) (1.59.0) Requirement already satisfied: protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5 in /home/runner/.local/lib/python3.9/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap->rasterarea) (4.23.0) Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /home/runner/.local/lib/python3.9/site-packages (from google-resumable-media>=2.3.2->google-cloud-storage->earthengine-api>=0.1.347->geemap->rasterarea) (1.5.0) Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /home/runner/.local/lib/python3.9/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.4.1->earthengine-api>=0.1.347->geemap->rasterarea) (0.5.0) Note: you may need to restart the kernel to use updated packages.
In [2]:
Copied!
import rasterarea
import rasterarea
In [3]:
Copied!
from osgeo import osr, gdal
import os, sys
#check for correct number of arguments
inputfilename = sys.argv[1]
basefilename = sys.argv[1].split(".")[0]
textoutput = open(basefilename+".latlng", "w")
ds = gdal.Open(inputfilename)
# get the existing coordinate system
old_cs = osr.SpatialReference()
old_cs.ImportFromWkt(ds.GetProjectionRef())
# create the new coordinate system,
# wgs84 AKA latitude/longitude which Google Maps requires
wgs84_wkt = """
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]"""
new_cs = osr.SpatialReference()
new_cs .ImportFromWkt(wgs84_wkt)
# create a transform object to convert between coordinate systems
transform = osr.CoordinateTransformation(old_cs,new_cs)
#get the point to transform, pixel (0,0) in this case
width = ds.RasterXSize
height = ds.RasterYSize
gt = ds.GetGeoTransform()
minx = gt[0]
maxx = gt[0] + width*gt[1] + height*gt[2]
miny = gt[3] + width*gt[4] + height*gt[5]
maxy = gt[3]
#get the coordinates in lat long
latlong = transform.TransformPoint(minx,miny)
latlong2 = transform.TransformPoint(maxx,maxy)
#write coordinates to file
textoutput.write(str(latlong[1]))
textoutput.write("\n")
textoutput.write(str(latlong[0]))
textoutput.write("\n")
textoutput.write(str(latlong2[1]))
textoutput.write("\n")
textoutput.write(str(latlong2[0]))
textoutput.write("\n")
#creates color mapping file used by the gdaldem program
color = open("color", "w")
color.write("0% 0 0 0\n100% 255 255 255\n")
color.close()
#bash commands to call gdaldem, which generates the PNG file
os.system("gdaldem color-relief " + inputfilename + " color "+basefilename+".png -of png")
#delete temporary files created by gdaldem
os.system("rm " + basefilename + ".png.aux.xml")
os.system("rm color")
from osgeo import osr, gdal
import os, sys
#check for correct number of arguments
inputfilename = sys.argv[1]
basefilename = sys.argv[1].split(".")[0]
textoutput = open(basefilename+".latlng", "w")
ds = gdal.Open(inputfilename)
# get the existing coordinate system
old_cs = osr.SpatialReference()
old_cs.ImportFromWkt(ds.GetProjectionRef())
# create the new coordinate system,
# wgs84 AKA latitude/longitude which Google Maps requires
wgs84_wkt = """
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]"""
new_cs = osr.SpatialReference()
new_cs .ImportFromWkt(wgs84_wkt)
# create a transform object to convert between coordinate systems
transform = osr.CoordinateTransformation(old_cs,new_cs)
#get the point to transform, pixel (0,0) in this case
width = ds.RasterXSize
height = ds.RasterYSize
gt = ds.GetGeoTransform()
minx = gt[0]
maxx = gt[0] + width*gt[1] + height*gt[2]
miny = gt[3] + width*gt[4] + height*gt[5]
maxy = gt[3]
#get the coordinates in lat long
latlong = transform.TransformPoint(minx,miny)
latlong2 = transform.TransformPoint(maxx,maxy)
#write coordinates to file
textoutput.write(str(latlong[1]))
textoutput.write("\n")
textoutput.write(str(latlong[0]))
textoutput.write("\n")
textoutput.write(str(latlong2[1]))
textoutput.write("\n")
textoutput.write(str(latlong2[0]))
textoutput.write("\n")
#creates color mapping file used by the gdaldem program
color = open("color", "w")
color.write("0% 0 0 0\n100% 255 255 255\n")
color.close()
#bash commands to call gdaldem, which generates the PNG file
os.system("gdaldem color-relief " + inputfilename + " color "+basefilename+".png -of png")
#delete temporary files created by gdaldem
os.system("rm " + basefilename + ".png.aux.xml")
os.system("rm color")
--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) Cell In[3], line 1 ----> 1 from osgeo import osr, gdal 2 import os, sys 4 #check for correct number of arguments ModuleNotFoundError: No module named 'osgeo'
Last update:
2023-05-11