import sys import os from osgeo import ogr if os.path.exists('./data.txt'): os.remove('./data.txt') file_name = r"D:\data\Export_Output.shp" driver = ogr.GetDriverByName('ESRI Shapefile') data_source = driver.Open(file_name, 0) layer = data_source.GetLayer(0) # print(ogr.GeometryTypeToName(layer.GetGeomType())) feature_count = layer.GetFeatureCount() extent = layer.GetExtent() center_x = (extent[0] + extent[1]) / 2 center_y = (extent[2] + extent[3]) / 2 print(feature_count) for feature in layer: try: keys = feature.keys() for key in keys: value = feature.GetField(key) geometry = feature.geometry() for i in range(geometry.GetPointCount()): coor = geometry.GetPoint(i) # coors.append(coor[0]-center_x) # coors.append(coor[1]-center_y) # coors.append(coor[2]) with open('./data.txt', 'a+') as f: f.write("%s,%s,%s," % (coor[0] - center_x, coor[1] - center_y, coor[2])) with open('./data.txt', 'a+') as f: f.write('\n') except Exception as e: print(e)