New answers tagged

0

You could use rioxarray https://corteva.github.io/rioxarray/html/examples/clip_geom.html geometries = [ { 'type': 'Polygon', 'coordinates': [[ [12, 17], [15, 17], [15, 18], [12, 18], [12, 17], ]] } ] xds = rioxarray.open_rasterio(...) clipped = xds.rio.clip(...


2

It's fairly easy. You open and read the input raster as a numpy array, run your calculation, open the output raster in 'w' write mode and use the georeferencing and other metadata (aka the profile) from the input raster. import rasterio as rio import numpy as np def ndvi2bio(x): #function to convert from ndvi to BIO return 400*(x)+680 with rio.open('...


0

I already managed to write a Python script so I'll describe how I did it: Use numpy as np, imageio, shapely.geometry.Point and shapely.geometry.polygon.Polygon. All of the following assumes the shapefile and GeoTIFF are in the same coordinate system (now they're in ETRS-TM35FIN both so the requirement is met). If they're not in the same coordinate system, ...


4

The process of summarizing raster data within the bounds of some 2d vectors is commonly called zonal statistics and can be accomplished using open source software in a number of ways. For example: QGIS 3.x has the zonal statistics tool built in: In python you can use the package "rasterstats" https://pypi.org/project/rasterstats/ In R you can use the ...


0

If it's possible, you can use QGIS. In raster menu you will find Projection, under it feature Assign Projection. You can use batch processing and process all your tiff at once.


0

you can do that on menu "Raster" > "conversion" > "Translate", and when setting your options you have to specify the field "Output data type". Ex: if your map has only integers you can set Int32, or if you have real numbers "Float32" Then you have to change the "Converted field", set file name and save Location, there you specify the ".MAP" file extension


3

I downloaded the glc_shv10_DOM.Tif and get very different gdalinfo output with Origin = (-180.000000000000000,90.000000001440014) and Pixel Size = (0.008333333333400,-0.008333333333400). You appear to have stripped the georeferencing out of the tif somehow or possibly an issue with your GDAL install. If you just want to tile internally and specify the CRS, ...


1

That's a easy task with rasterio. For each band the data is accessible as a kind of array. So: import rasterio # Which band are you interested. # 1 if there is only one band band_of_interest = 1 # Row and Columns of the raster you want to know # the value row_of_interest = 30 column_of_interest = 50 # open the raster and close it automatically # See ...


0

I think you need to create a points dataset from the coordinates then use the Extract Values To Points tool, if using ArcGIS Desktop or ArcPro.


0

Through trial and error I have figured out a working solution to this problem. 1) Load the CSV driver manually: var csvDriver = OSGeo.OGR.Ogr.GetDriverByName("CSV"); 2) Open the CSV file using the driver: using (var dataSource = csvDriver.Open(fullColorTableFilePath, 0)) 3) Get the layer from the DataSource. As far as I can tell this is all of the lines ...


0

Two simple solutions with GDAL command line utilities Use the Python script gdal_edit.py https://gdal.org/programs/gdal_edit.html#gdal-edit with option -unsetgt -unsetgt Remove the georeference information. Use gdal_translate utility (also available directly from Python as gdal.Translate, see https://erouault.blogspot.com/2015/10/gdal-and-ogr-utilities-as-...


2

Advanced projection handling is supposed to take care of the issue (indeed it gets worse when you disable it), but it's really just a set of heuristics. It's likely not accounting for some specific issue in your dataset. You should open a bug report attaching the sample data set, style, and requests to make the issue happen (ideally a preview request of ...


0

You could load the image in QGIS and with PyQGIS (Python) access the data like this: image = gdal.Open(directory) #directory is a string with the path to the file band = image.GetRasterBand(1) #integer is the number of the band array = band.ReadAsArray().astype(np.float) #now you have all the image as an array You can ...


5

This is a known bug, it probably only occurs on windows machines and as such is unlikely to get much developer traction as none of the core developers is a windows user during their volunteer time. You can either fix this yourself and submit a PR with the fix or pay someone to fix it for you.


1

If you are using ArcGIS the tool you are looking for is Zonal Statistics. You can mark out your your areas of interest with a shape file or feature class, and then use this as input along with your geotiff. I think QGIS has a similar zonal statistics tool if that's the software you are using.


0

You can use the TiffBitmapDecoder in .NET to open the the GeoTiff and extract metadata in a fairly painless way. I am primarily working with single band elevation GeoTIFF files and the following code represents that, though trimmed down a little. After reading the GeoTIFF in you should have little issue normalizing the values. Using the PixelSize and ...


Top 50 recent answers are included