def getData(self): for filepath in self.filenames: filename = os.path.basename(filepath) lvis = lvisGround(filepath) # set elevation lvis.setElevations() # find the ground (repeating some of the last three lines) lvis.estimateGround() lvis.reproject(4326, 3857) pd.DataFrame({ 'lat': np.array(lvis.lat), 'lon': np.array(lvis.lon), 'z': np.array(lvis.zG) }).to_csv(os.path.join('../data/2009/', ''.join(filename.split('.')[:-1]) + '.csv'), index=False)
''' An example of how to use the LVIS python scripts ''' from processLVIS import lvisGround if __name__ == "__main__": '''Main block''' #filename='/geos/netdata/avtrain/data/3d/oosa/week4/lvis_antarctica/ILVIS1B_AQ2015_1014_R1605_070717.h5' filename = '/Users/dill/data/teaching/oosa/week4/lvis/ILVIS1B_AQ2015_1014_R1605_071915.h5' # find bounds b = lvisGround(filename, onlyBounds=True) # set some bounds x0 = b.bounds[0] y0 = b.bounds[1] x1 = (b.bounds[2] - b.bounds[0]) / 15 + b.bounds[0] y1 = (b.bounds[3] - b.bounds[1]) / 15 + b.bounds[1] # read in bounds lvis = lvisGround(filename, minX=x0, minY=y0, maxX=x1, maxY=y1) # set elevation lvis.setElevations() # denoise test lvis.findStats() threshold = lvis.meanNoise + 5 * lvis.stdevNoise
tiffhandler = tiffHandle(minx, miny, maxx, maxy) tiffhandler.writeTiff(data, filename=outputpath, epsg=3857) print("finished") if __name__ == "__main__": if len(sys.argv) != 4: print(instructions) exit(1) filepath = sys.argv[1] resolution = int(sys.argv[2]) outputpath = sys.argv[3] lvisData = lvisGround(filepath) lvisData.setElevations() lvisData.estimateGround() lvisData.reproject(4326, 3857) lat = np.array(lvisData.lat) lon = np.array(lvisData.lon) z = np.array(lvisData.zG) point_list = np.array([lat, lon, z]).T minx, miny, maxx, maxy = lvisData.dumpBounds() minx = int(minx) miny = int(miny) maxx = int(maxx) maxy = int(maxy) data = []