Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import shapefile
- sf = shapefile.Reader("MyFile.shp")
- data = sf.record['desired_record_name']
- import shapefile
- sf = shapefile.Reader("MyFile.shp")
- for r in sf.iterRecords():
- if r[0]=='desired_record_name':
- data = r
- break
- import shapefile
- sf = shapefile.Reader('MyFile.shp')
- # name of fields
- fields = sf.fields[1:]
- field_names = [field[0] for field in fields]
- # construction of a dctionary field_name:value
- for r in sf.shapeRecords():
- atr = dict(zip(field_names, r.record))
- {'field1': 'value1', 'field2': 'value2', ..., 'fieldn': 'valuen'}
- if atr['field1'] == value:
- print atr
- action
- def records(filename):
- # generator
- reader = shapefile.Reader(filename)
- fields = reader.fields[1:]
- field_names = [field[0] for field in fields]
- for sr in reader.shapeRecords():
- yield dict(zip(field_names, sr.record))
- rec = records('MyFile.shp')
- rec.next()
- {'field1': 'value1', 'field2': 'value2', ..., 'fieldn': 'valuen'}
- # or
- for rec in records('MyFile.shp')
- if rec['field1'] == value:
- data = rec
- for r in sf.shapeRecords():
- atr = dict(zip(field_names, r.record))
- geom = r.shape.__geo_interface__
- print dict(geometry=geom,properties=atr)
- {'geometry': {'type': 'Point', 'coordinates': (161821.09375, 79076.0703125)}, 'properties': {'DIP_DIR': 120, 'STRATI_TYP': 1, 'DIP': 30}}
- from osgeo import ogr
- ds = ogr.Open(r"path_toshapefile.shp")
- lyr = ds.GetLayer()
- # Apply a SQL WHERE Clause
- lyr.SetAttributeFilter("FIELD = 'Value'")
- # Loop over features
- for feature in lyr:
- # do stuff with features selected by attribute filter
Add Comment
Please, Sign In to add comment