inspect-geometry.py 941 B

123456789101112131415161718192021222324
  1. import json, collections
  2. p='.scratch/cockpit-real-data-wayfinding/verify/artifacts/t67/geom-none.json'
  3. with open(p,encoding='utf-8') as f: d=json.load(f)
  4. print('top keys:', list(d.keys()))
  5. data=d.get('data',d)
  6. print('data keys:', list(data.keys()))
  7. feats=data.get('features') or []
  8. print('features:', len(feats))
  9. keycount=collections.Counter()
  10. for ft in feats:
  11. props=ft.get('properties') or {}
  12. keycount.update(props.keys())
  13. for k,v in keycount.most_common(60):
  14. print(f' {k}: appears in {v} features')
  15. # look for district-ish keys
  16. print()
  17. print('district-ish values sample:')
  18. for ft in feats[:3]:
  19. props=ft.get('properties') or {}
  20. print({k:props[k] for k in props if 'dist' in k.lower() or 'area' in k.lower() or 'region' in k.lower()})
  21. print()
  22. print('coverage:', json.dumps(data.get('coverage'), ensure_ascii=False)[:600])
  23. print('sample props:', json.dumps((feats[0].get('properties') or {}), ensure_ascii=False)[:900])