import json import traceback import geopandas as gpd import numpy as np import sys global puntosIN global buffer args=json.loads(sys.argv[1]) #args['path_entwine'] #args['disk'] #args['path_geojson'] #args['buffer'] puntosIN=gpd.read_file("./in/"+args['path_geojson']) buffer=int(args['buffer']) #{"path_entwine":"../DATA4/entwine_updated_Andalucia_Bloque1M/ept.json","disk":"","path_geojson":"./punto.geojson","buffer":"2"} #{"path_entwine":"../DATA4/entwine_updated_Andalucia_Bloque1M/ept.json","disk":"","path_geojson":"./multipoint.geojson","buffer":"2"} #{"path_entwine":"../DATA4/entwine_updated_Andalucia_Bloque1M/ept.json","disk":"","path_geojson":"./linestring.geojson","buffer":"2"} #{"path_entwine":"../DATA4/entwine_updated_Andalucia_Bloque1M/ept.json","disk":"","path_geojson":"./multiline.geojson","buffer":"2"} #{"path_entwine":"../DATA4/entwine_updated_Andalucia_Bloque1M/ept.json","disk":"","path_geojson":"./polygon.geojson","buffer":"2"} #{"path_entwine":"../DATA4/entwine_updated_Andalucia_Bloque1M/ept.json","disk":"","path_geojson":"./multipolygon.geojson","buffer":"2"} #puntosIN=gpd.read_file('./puntos.geojson') #buffer=2 #entwine="../DATA4/entwine_updated_Andalucia_Bloque1M/ept.json" #"../DATA4/entwine_updated_Andalucia_Bloque1M/ept.json" #"./puntos.geojson" def bufferZ(puntosIN): if str(puntosIN['geometry'].type[0])=="Polygon" or str(puntosIN['geometry'].type[0])=="POLYGON" or str(puntosIN['geometry'].type[0])=="MultiPolygon" or str(puntosIN['geometry'].type[0])=="MULTIPOLYGON": #print(str(puntosIN['geometry'].type[0])=="Point") #print(puntosIN['geometry'].type[0]) puntosIN=puntosIN.boundary buffered=puntosIN.buffer(buffer,1) buffered.to_file("./in/"+args['path_geojson'].rsplit('/',1)[0]+"/"+"buffered_"+args['path_geojson'].rsplit('/',1)[1],driver="GeoJSON") # quit() # XY=np.column_stack(puntosIN['X'],puntosIN['Y']) # for i,punto in enumerate(puntosIN['Z']): # continue if __name__ == '__main__': try: bufferZ(puntosIN) except Exception: traceback.print_exc()