Created
August 20, 2018 12:35
-
-
Save davidbjourno/4f03e56fa766c538989b925171e124c4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from osgeo import ogr | |
# Open shapefile and count features | |
source = ogr.Open('building-means.shp', update=True) | |
layer = source.GetLayer() | |
features_count = layer.GetFeatureCount() | |
# Create new field | |
new_field = ogr.FieldDefn('mean_rnd', ogr.OFTReal) # Define new floating-point field | |
new_field.SetWidth(10) | |
new_field.SetPrecision(1) # Enforce precision of one decimal place | |
layer.CreateField(new_field) | |
# Loop over all features, rounding value of 'mean' field | |
features_processed = 0 | |
for feature in layer: | |
mean = feature.GetField('mean') | |
feature.SetField('mean_rnd', mean) # Copy 'mean' field into new 'mean_rnd' field | |
layer.SetFeature(feature) | |
features_processed += 1 # Update count of features processed | |
# Print update on number of features processed to console for progress monitoring | |
print('{} of {} features processed'.format(features_processed, features_count)) | |
# Close shapefile when done | |
source = None |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment