python 将数组按照给定投影等信息保存为geotif数据
时间: 2023-08-02 14:03:58 浏览: 90
Python提供了多个库来处理地理空间数据,如geopandas、rasterio和gdal等。在使用这些库之前,需要先安装相应的库。
假设我们有一个包含投影信息的数组,要将其保存为geotif数据,可以按照以下步骤进行:
1. 导入所需的库:
```python
import numpy as np
import rasterio
# 假设已经有了一个投影信息的数组proj_array
```
2. 定义保存的文件路径和文件名:
```python
output_path = "path/to/output.tif"
```
3. 获取数组的shape和dtype信息:
```python
height, width = proj_array.shape
dtype = proj_array.dtype
```
4. 定义投影信息和空间参考信息:
```python
# 假设投影信息是EPSG 4326(经纬度坐标系)
crs = rasterio.crs.CRS.from_epsg(4326)
# 假设像素大小为1度
transform = rasterio.transform.from_origin(lon, lat, 1, 1) # lon, lat为左上角的经纬度
```
5. 创建一个新的Rasterio数据集,并将数组写入其中:
```python
with rasterio.open(output_path, 'w', driver='GTiff', width=width, height=height, count=1, dtype=dtype,
crs=crs, transform=transform) as dst:
dst.write(proj_array, 1) # 1表示写入的波段索引(从1起始)
```
通过上述步骤,我们将数组按照给定的投影信息保存为了geotif数据。在实际使用时,需要根据具体情况调整相应的参数和投影信息。