Install of Rasterio
1
2
# Colab에서 rasterio 설치
pip install rasterio
1
2
import rasterio
rasterio.__version__ # 1.3.7
Reading raster dataset
1
2
3
# image에 대한 읽기 모드 -> 이미지에 대한 정보만 추출 가능, 처리나 셀 값 변경 불가능
img = rasterio.open("/content/nepal_lc_2020.tif")
img
1
2
3
# Data Source 읽기
data = img.read()
data
Reading metadata of raster
1
2
# 메타 데이터 읽기
img.meta
1
2
3
4
5
6
7
8
9
{'driver': 'GTiff',
'dtype': 'uint8',
'nodata': 255.0,
'width': 2932,
'height': 1485,
'count': 1,
'crs': CRS.from_epsg(4326),
'transform': Affine(0.0027777777777780012, 0.0, 80.05847091000004,
0.0, -0.0027777777777780012, 30.472819010000357)}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 파일명 -> /content/nepal_lc_2020.tif
img.name
# 밴드 수 -> 1
img.count
# image shape -> (height, width) -> (1485, 2932)
img.shape
# 너비 -> 2932
img.width
# 높이 -> 1485
img.height
# driver -> GTiff
img.driver
# 좌표계 -> CRS.from_epsg(4326)
img.crs
# 좌표 변환
img.transform
# 설명
img.descriptions
# 데이터 크기 -> 4354020
data.size
# 데이터 최대값, 최소값 -> 255, 10
print(data.max(), data.min())
Visualization of raster
1
2
3
from rasterio.plot import show
show(img)
1
2
3
from rasterio.plot import show, show_hist
show_hist(img, bins=50, title="Land Cover Map of Nepal")
Writing the raster data
1
2
3
4
5
6
7
8
9
10
11
12
# 데이터 저장
with rasterio.open(r"/content/output/nepal_lc_2020_out.tif", 'w',
driver=img.driver,
height=img.height,
width=img.width,
count=img.count,
crs=img.crs,
transform=img.transform,
dtype=data.dtype
) as dst:
dst.write(data)
1
2
3
# 저장한 데이터 불러오기
img_out = rasterio.open("/content/output/nepal_lc_2020_out.tif")
show(img_out)