fastkml icon indicating copy to clipboard operation
fastkml copied to clipboard

Add <gx:SimpleArrayData> to SchemaData

Open cleder opened this issue 1 year ago • 1 comments

https://developers.google.com/kml/documentation/kmlreference#example-of-track-with-extended-data

    <Schema id="schema">
      <gx:SimpleArrayField name="heartrate" type="int">
        <displayName>Heart Rate</displayName>
      </gx:SimpleArrayField>
      <gx:SimpleArrayField name="cadence" type="int">
        <displayName>Cadence</displayName>
      </gx:SimpleArrayField>
      <gx:SimpleArrayField name="power" type="float">
        <displayName>Power</displayName>
      </gx:SimpleArrayField>
    </Schema>
            <SchemaData schemaUrl="#schema">
              <gx:SimpleArrayData name="cadence">
                <gx:value>86</gx:value>
                <gx:value>103</gx:value>
                <gx:value>108</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
              </gx:SimpleArrayData>
              <gx:SimpleArrayData name="heartrate">
                <gx:value>181</gx:value>
                <gx:value>177</gx:value>
                <gx:value>175</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
              </gx:SimpleArrayData>
              <gx:SimpleArrayData name="power">
                <gx:value>327.0</gx:value>
                <gx:value>177.0</gx:value>
                <gx:value>179.0</gx:value>
                <gx:value>162.0</gx:value>
                <gx:value>166.0</gx:value>
                <gx:value>177.0</gx:value>
                <gx:value>183.0</gx:value>
              </gx:SimpleArrayData>
            </SchemaData>
          </ExtendedData>

Schema:


  <element name="SimpleArrayField" type="gx:SimpleArrayFieldType"
    substitutionGroup="kml:SchemaExtension"/>

  <complexType name="SimpleArrayFieldType">
    <sequence>
      <element ref="kml:displayName" minOccurs="0"/>
      <element ref="gx:SimpleArrayFieldExtension" minOccurs="0"
        maxOccurs="unbounded"/>
    </sequence>
    <attribute name="type" type="string"/>
    <attribute name="name" type="string"/>
  </complexType>
  <element name="SimpleArrayFieldExtension" abstract="true"/>

  <element name="SimpleArrayData" type="gx:SimpleArrayDataType"
    substitutionGroup="kml:SchemaDataExtension"/>

  <complexType name="SimpleArrayDataType">
    <complexContent>
      <extension base="kml:AbstractObjectType">
        <sequence>
          <element ref="gx:value" minOccurs="0" maxOccurs="unbounded"/>
          <element ref="gx:SimpleArrayDataExtension" minOccurs="0"
            maxOccurs="unbounded"/>
        </sequence>
        <attribute name="name" type="string"/>
      </extension>
    </complexContent>
  </complexType>

cleder avatar Jan 30 '25 08:01 cleder

Initial commits in https://github.com/cleder/fastkml/tree/259-add-extendeddata-and-model-to-gxtrack

cleder avatar Jan 30 '25 08:01 cleder

@hirohira9119 in #442

cleder avatar Sep 02 '25 18:09 cleder