Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import shapely.geometry as shpgeo, pyproj
- lon, lat = (-93.2661, 44.9765)
- proj = pyproj.Proj(proj="utm", ellps="GRS80", datum="NAD83")
- # project into UTM to calculate distance in meters
- point = shpgeo.Point(*proj(lon, lat))
- # get a radius 3000 meter circle
- bufferShape = point.buffer(3000)
- # convert from utm back to lon/lat
- coords = shp.__geo_interface__['coordinates']
- # this works if shp.__geo_interface__['type'] == Polygon
- newCoords = [[proj(*point, inverse=inv) for point in linring] for linring in coords]
- bufferShape = shpgeo.shape({'type': shpType, 'coordinates': tuple(newCoord)})
- print(bufferShape.centroid)
- print(bufferShape.bounds)
- POINT (-93.26610002878017 44.97650391330887)
- (-93.29303779998378, 44.95738308641549, -93.23916202385492, 44.99562317086678)
- bufferShape = point.buffer(3000 * 1.41421)
- POINT (-93.26610005756029 44.97650782661781)
- (-93.30419574627818, 44.94946643426645, -93.22800390139928, 45.003546080298214)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement