将shp文件转换为GeoPackage格式(.gpkg)的过程

将shp文件转换为GeoPackage格式(.gpkg)的过程,可以使用QGIS软件来完成。以下是详细的步骤:

  1. 创建GeoPackage数据库文件:

    • 打开QGIS软件。
    • 在浏览面板的GeoPackage上右键,点击“创建数据库…”。
    • 在新建窗口的数据库项输入.gpkg文件的保存路径,直接点击确定即可创建一个后缀为.gpkg的GeoPackage数据库文件。

    image-20240701102531831

  2. 把shp文件添加到图层面板:

    • 打开资源管理器,在左侧选择“矢量”>“矢量数据集”。
    • 浏览并打开shp文件(仅添加后缀为.shp的文件)。
    • 点击“添加”,即可将shp文件添加到图层面板。
  3. 导出到GeoPackage数据库:

    • 在想导出的shp图层上右击。
    • 选择“导出”>“另存要素为…”。

    112

    • 在弹出的窗口中,选择格式为GeoPackage。
    • 选择上面创建的后缀为.gpkg的文件。

    image-20240701103018599

    • 填写图层名称,点击“OK”即可将shp文件导入到GeoPackage数据库。

python

如何通过代码实现shp文件转换为gkpg文件呢?请看下面代码。

#!/usr/bin/env python
# -*- coding: utf-8 -*- 
# @File : shp2gpkg.py 
import time
import geopandas as gpd

def shp2gpkg(shpfile,outfile):
    # 读取SHP文件
    gdf = gpd.read_file(shpfile)

    # 将GeoDataFrame写入GeoPackage文件
    gdf.to_file(outfile, driver='GPKG')

if __name__ == '__main__':
    t1 = time.time()
    shpfile = r'polygon.shp'
    outfile = r'polygon.gpkg'
    shp2gpkg(shpfile, outfile)
    t2 = time.time()
    print(t2-t1)