Skip to content
Snippets Groups Projects
Select Git revision
  • dispose
  • devel default
  • 107-compilation-error-when-building-maestro-core-on-m1-apple-processors
  • 108-implement-cpu-id-query-for-apple-m1-hardware
  • 58-scripting-interface-to-maestro-core
  • 101-need-ci-test-using-installed-maestro
  • 57-sphinx-documentation
  • 105-memory-leak-in-pm-message-envelope-handling
  • 104-permit-disabling-memory-pool
  • 103-liberl-installation-issue-on-devel
  • 94-maestro-rdma-transport-ignores-max_msg_size-2
  • main protected
  • 102-possible-race-in-check_pm_redundant_interlock-test
  • 97-check-if-shm-provider-can-be-enabled-after-libfabric-1-14-is-in-our-tree-2
  • 100-include-maestro-attributes-h-cannot-include-mamba-header-from-deps-path
  • 97-check-if-shm-provider-can-be-enabled-after-libfabric-1-14-is-in-our-tree
  • 17-job-failed-282354-needs-update-of-mio-interface-and-build-rules
  • 96-test-libfabric-update-to-1-13-or-1-14
  • feature/stop-telemetry-after-all-left
  • 94-maestro-rdma-transport-ignores-max_msg_size
  • 93-improve-performance-of-mstro_attribute_val_cmp_str
  • v0.3_rc1
  • maestro_d65
  • d65_experiments_20211113
  • v0.2
  • v0.2_rc1
  • d3.3
  • d3.3-review
  • d5.5
  • d5.5-review
  • v0.1
  • d3.2
  • d3.2-draft
  • v0.0
34 results

attribute_schema.h

Blame
  • xml2txt.py 2.08 KiB
    """
    convert jpscore's trajectories from xml to txt format:
    id   fr   x   y   z
    input: xml file
    output: xml file
    """
    
    import os
    from sys import argv, exit
    
    try:
        import xml.etree.cElementTree as ET
    except ImportError:
        import xml.etree.ElementTree as ET
    
    
    def write_header(o, fps, geometry_file):
        o.write("#xml to txt converted simulation file\n")
        o.write("#framerate: %0.2f\n" % fps)
        o.write("#geometry: %s\n" % geometry_file)
        o.write("#ID: the agent ID\n");
        o.write("#FR: the current frame\n");
        o.write("#X,Y,Z: the agents coordinates (in meters)\n");
        o.write("\n");
        o.write("#ID\tFR\tX\tY\tZ\n");
    
    
        
    if __name__ == "__main__":
        if len(argv) < 2:
            exit('usage: %s filename' % argv[0])
    
        filename = argv[1]
        filename1, file_extension = os.path.splitext(filename)
        if file_extension != ".xml":
            exit('not an xml file')
            
        output = filename1 +  ".txt"
        o = open(output, "w")
        #    o.write("# ID             frame              x             y             z\n\n")
        print (">> %s" % output)
    
        tree = ET.parse(filename)
        root = tree.getroot()
    
        for header in root.iter('header'):
            fps = header.find('frameRate').text
    
        try:
            fps = float(fps)
        except:
            print ("ERROR: could not read <fps>")
            exit()
    
        for header in root.iter('header'):
            N = header.find('agents').text
    
        try:
            N = int(N)
        except:
            print ("ERROR: could not read <agents>")
            exit()
    
            
        for g in root.iter('geometry'):
            file_location = g.find('file').attrib
            location = file_location['location']
            
        write_header(o, fps, location)
        for node in root.iter():
            tag = node.tag
            if tag == "frame":
                frame = node.attrib['ID']
                for agent in node.getchildren():
                    x = agent.attrib['x']
                    y = agent.attrib['y']
                    z = agent.attrib['z']
                    ID = agent.attrib['ID']
                    o.write("%d\t %d\t %.5f\t %.5f\t %.5f\n" % (int(ID), int(frame), float(x), float(y), float(z)))
    
        o.close()