这段代码展示了如何使用GDAL库读取SHP文件,获取其原始坐标系信息,将其转换到指定的坐标系(如WGS84),并将转换后的数据保存到新的SHP文件中。你可以根据需要调整代码中的文件路径和坐标系参数。
要素feature的形状geometry是由一系列点坐标构成的,将每个要素的形状点一一进行坐标转换即可。下面以WGS84坐标转UTM投影为例:from osgeo import ogr,osr,gdalimport globimport osdef vecter_WGS2UTM(shp_path, UTM_shp_path, longitude, is_north): ds = ogr.Open(shp_path) layer = ds.GetLayer(0)...
为没有坐标系的shp添加坐标系。 from osgeo import osr,ogr def add_SpatialReference(shp_path, out_shp_path): driver = ogr.GetDriverByName("ESRI Shapefile") dataSource = driver.Open(shp_path, 1) layer = dataSource.GetLayer() # 设置空间参考 SpatialReference = osr.SpatialReference() SpatialRefere...
一、导入库 from osgeo import gdal, ogr, osr 1. 二、坐标转换函数 这里最重要的就是gdal.VectorTranslate这个函数,这个函数包含了很多参数,代码中已给出相关注释,大家如果还有什么问题,可以直接去查看下官方文档。 此外我这里的目标坐标系是使用EPSG编码定义的,之前分享的文章中展示过从已有文件中提取坐标系,大家...
GDAL使用参考:https://www.osgeo.cn/pygis/proj-osr.html 以txt为例: ## txt\csv转shp,txt需要加正则表达 # 导入相关库 import os from osgeo import ogr import pandas as pd from osgeo import osr import glob # 启动异常报错提示 ogr.UseExceptions() ...
try: from osgeo import gdal, ogr, osrexcept ImportError: import gdal, ogr, osrdef WriteVectorFile(shp_path, name, polygon): # 解决中文路径 gdal.SetConfigOption('GDAL_FILENAME_IS_UTF8', 'YES') # 解决 SHAPE 文件的属性值 gdal.SetConfigOption('SHAPE_ENCODING', 'GBK'...
1.获取需要转换的数据的坐标系信息 .GetSpatialRef()函数可以获取图层中的坐标系信息,注意该函数的作用空间为图层,所以要先将数据读入到图层中ds_original.GetLayer(),再去获取投影。 python filepath_original ="G:/wgs84/p.shp"ds_original = ogr.Open(filepath_original)# 打开数据layer_original = ds_orig...
首先,我们需要读取矢量数据文件。在GDAL库中,可以使用gdal.Open()方法来读取矢量数据文件。下面是一个读取Shapefile文件的示例代码: importgdal# 打开Shapefile文件dataset=gdal.Open('path/to/shapefile.shp')# 获取图层layer=dataset.GetLayer() 1. 2.
def csv2shp(csv_path, shp_path, layerName): # 解决中文字符问题 gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","NO") gdal.SetConfigOption("SHAPE_ENCODING","") # 设置空间参考,4326代表WGS84 SpatialReference = osr.SpatialReference() SpatialReference .ImportFromEPSG(4326) ...