添加投影导入的 .asc 文件
Add projection imported .asc file
我正在尝试在 python 中导入 .asc 文件以使用 shapefile 对其进行剪辑。对于剪辑,我将使用:
import earthpy.clip as cl
clip = cl.clip_shp(shp_file, asc_file)
但是这行不通,因为我的 .asc 没有 CRS。这就是 .asc 的 header 的样子:
ncols 1900
nrows 1400
xllcorner 182900
yllcorner 326300
cellsize 10
NODATA_value -999.990
这是我导入 .asc 文件的方式
import rasterio as rio
asc_loc = r'file.asc'
raster = rio.open(asc_loc)
print(raster.crs)
打印显示none
问题:如何将 CRS 添加到导入的 .asc 文件中? (最好使用 rastario 或 geopandas。)
您似乎缺少 .prj
文件。
如果您有 .prj 文件,它应该与您的 .asc
同名文件一起存储
raster_image.asc
raster_image.prj
.prj
文件将包含空间参考信息。
向栅格添加 CRS
import rasterio.crs
crs = rasterio.crs.CRS({"init": "epsg:19914"})
with rasterio.open('/path/to/file.format') as src:
src.crs = crs
print (src.crs)
如果这不起作用,并且由于 CRS 永远不会保存到 asc.file,
最好先从命令行使用 gdal_translate 转换为 Geotiff,然后再将栅格与 rasterio
:
一起使用
gdal_translate -of "GTiff" -a_srs EPSG:19914 in.asc out.tif
我正在尝试在 python 中导入 .asc 文件以使用 shapefile 对其进行剪辑。对于剪辑,我将使用:
import earthpy.clip as cl
clip = cl.clip_shp(shp_file, asc_file)
但是这行不通,因为我的 .asc 没有 CRS。这就是 .asc 的 header 的样子:
ncols 1900
nrows 1400
xllcorner 182900
yllcorner 326300
cellsize 10
NODATA_value -999.990
这是我导入 .asc 文件的方式
import rasterio as rio
asc_loc = r'file.asc'
raster = rio.open(asc_loc)
print(raster.crs)
打印显示none
问题:如何将 CRS 添加到导入的 .asc 文件中? (最好使用 rastario 或 geopandas。)
您似乎缺少 .prj
文件。
如果您有 .prj 文件,它应该与您的 .asc
同名文件一起存储
raster_image.asc
raster_image.prj
.prj
文件将包含空间参考信息。
向栅格添加 CRS
import rasterio.crs
crs = rasterio.crs.CRS({"init": "epsg:19914"})
with rasterio.open('/path/to/file.format') as src:
src.crs = crs
print (src.crs)
如果这不起作用,并且由于 CRS 永远不会保存到 asc.file,
最好先从命令行使用 gdal_translate 转换为 Geotiff,然后再将栅格与 rasterio
:
gdal_translate -of "GTiff" -a_srs EPSG:19914 in.asc out.tif