Skip to content

Commit

Permalink
adding xml generation to inspect_shapefile.py
Browse files Browse the repository at this point in the history
  • Loading branch information
chrishavlin committed Dec 27, 2016
1 parent 4d651f4 commit e6fadc2
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/inspect_shapefile.py
Expand Up @@ -18,6 +18,7 @@
"""
import shapefile
import xml.etree.cElementTree as ET

"""
IMPORT THE SHAPEFILE
Expand Down Expand Up @@ -72,6 +73,21 @@ def get_unique_rec_values(self,sf):
print " new record value:",rec[field_names.index(self.fieldname)]
self.rec_vals.append(rec[field_names.index(self.fieldname)])

def create_xml_file(sf,savedir,basename):
metadata = ET.Element("metadata")
eainfo = ET.SubElement(metadata, "eainfo")
detailed = ET.SubElement(eainfo,"detailed",name=basename)
attr = ET.SubElement(detailed,"attr")

ET.SubElement(attr, "attrlbl").text = "label"
ET.SubElement(attr, "attrtype").text = "type"
# if string with small number of types
ET.SubElement(attr, "attrrange").text = "range"
# if a number, just use min/max

tree = ET.ElementTree(metadata)
tree.write(savedir+basename+"_auto.xml")

if __name__ == '__main__':

# set the shapefile
Expand Down Expand Up @@ -126,3 +142,6 @@ def get_unique_rec_values(self,sf):
print ' possible values:'
print field_obj.rec_vals

if raw_input("Create XML file? (Y/N) ")=='Y':
create_xml_file(sf,dat_dir,shp_file_base)

0 comments on commit e6fadc2

Please sign in to comment.