Guest User

Untitled

a guest
Oct 18th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. import shapefile
  2. sf = shapefile.Reader("MyFile.shp")
  3. data = sf.record['desired_record_name']
  4.  
  5. import shapefile
  6. sf = shapefile.Reader("MyFile.shp")
  7. for r in sf.iterRecords():
  8. if r[0]=='desired_record_name':
  9. data = r
  10. break
  11.  
  12. import shapefile
  13. sf = shapefile.Reader('MyFile.shp')
  14. # name of fields
  15. fields = sf.fields[1:]
  16. field_names = [field[0] for field in fields]
  17. # construction of a dctionary field_name:value
  18. for r in sf.shapeRecords():
  19. atr = dict(zip(field_names, r.record))
  20.  
  21. {'field1': 'value1', 'field2': 'value2', ..., 'fieldn': 'valuen'}
  22.  
  23. if atr['field1'] == value:
  24. print atr
  25. action
  26.  
  27. def records(filename):
  28. # generator
  29. reader = shapefile.Reader(filename)
  30. fields = reader.fields[1:]
  31. field_names = [field[0] for field in fields]
  32. for sr in reader.shapeRecords():
  33. yield dict(zip(field_names, sr.record))
  34. rec = records('MyFile.shp')
  35. rec.next()
  36. {'field1': 'value1', 'field2': 'value2', ..., 'fieldn': 'valuen'}
  37. # or
  38. for rec in records('MyFile.shp')
  39. if rec['field1'] == value:
  40. data = rec
  41.  
  42. for r in sf.shapeRecords():
  43. atr = dict(zip(field_names, r.record))
  44. geom = r.shape.__geo_interface__
  45. print dict(geometry=geom,properties=atr)
  46. {'geometry': {'type': 'Point', 'coordinates': (161821.09375, 79076.0703125)}, 'properties': {'DIP_DIR': 120, 'STRATI_TYP': 1, 'DIP': 30}}
  47.  
  48. from osgeo import ogr
  49. ds = ogr.Open(r"path_toshapefile.shp")
  50. lyr = ds.GetLayer()
  51.  
  52. # Apply a SQL WHERE Clause
  53. lyr.SetAttributeFilter("FIELD = 'Value'")
  54.  
  55. # Loop over features
  56. for feature in lyr:
  57. # do stuff with features selected by attribute filter
Add Comment
Please, Sign In to add comment