Могу ли я проанализировать поверхность GML из узла DOM в Geotools? - PullRequest
1 голос
/ 28 мая 2020

У меня есть набор небольших XML документов - AIXM, чтобы указать c - которые содержат глубоко внутри себя элементы GML. Например:

<hasMember>
  <Airspace xmlns="http://www.aixm.aero/schema/5.0" gml:id="Airspace1">
    <identifier xmlns="http://www.opengis.net/gml/3.2" codeSpace="http://www.faa.gov/nasr">d1c1e508-4a4d-4d52-8c11-c851c6dd7600</identifier>
    <timeSlice>
      <AirspaceTimeSlice gml:id="Airspace1_TS1">
          [...]
        <designator>P51</designator>
        <name>P-51 BANGOR, WA</name>
        <geometryComponent>
          <AirspaceGeometryComponent>
            <operation>BASE</operation>
            <operationSequence>1</operationSequence>
            <theAirspaceVolume>
              <AirspaceVolume>
                <upperLimit uom="FT">02499</upperLimit>
                <upperLimitReference>MSL</upperLimitReference>
                <lowerLimit uom="FT">GND</lowerLimit>
                <lowerLimitReference>SFC</lowerLimitReference>
                <horizontalProjection>
                  <Surface gml:id="Surface1" srsDimension="2" srsName="URN:OGC:DEF:CRS:OGC:1.3:CRS84">
                    <patches xmlns="http://www.opengis.net/gml/3.2">
                      <PolygonPatch xmlns:ns="http://www.opengis.net/gml/3.2">
                            [...]

и так далее.

Мое текущее приложение загрузило документ с помощью анализатора DOM и извлекло нужные мне данные из документа XML. Теперь мне нужно вытащить элемент GML из выбранного узла DOM, hasMember / Airspace / timeSlice / AirspaceTimeSlice / geometryComponent / AirspaceGeometryComponent /. 1006 *

Могу ли я выполнить sh это с помощью Geotools? DOMParser настаивает на запуске с узла root Document. Единственная альтернатива, которую я могу найти, - это SurfaceTypeBinding.parse (), которая принимает узел ... но я не могу понять, как его назвать.

...