Добавить импортированную проекцию .asc файл - PullRequest
2 голосов
/ 07 ноября 2019

Я пытаюсь импортировать файл .asc в python, чтобы обрезать его с помощью шейп-файла. Для отсечения я буду использовать:

import earthpy.clip as cl
clip = cl.clip_shp(shp_file, asc_file)

Однако это не будет работать, так как мой .asc не имеет CRS. Вот как выглядит заголовок .asc:

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? (Желательно с растарио или геопандами.)

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

Чтобы добавить 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
0 голосов
/ 07 ноября 2019

Похоже, вам не хватает файла .prj.

Если у вас есть файл .prj, его следует сохранить вместе с вашим .asc файлом с тем же именем

raster_image.asc
raster_image.prj
* 1007Файл *.prj будет содержать информацию о пространственной привязке.
...