2016-09-07 1 views
0

Простой ol.format.ogc.filter.bbox работает без проблем с использованием Geoserver, и я могу разобрать выходной XML следующим образом:.WFS GetFeature выход из ArcGIS не может быть проанализирован с любым ol.format *

features = new ol.format.GML3().readFeatures(result); 

Однако; при использовании того же фильтра с ArcGIS вывод xml не может быть проанализирован. Результаты, возвращаемые сервером карты, верны, но приведенный выше код анализирует только первую возвращаемую функцию. Я пробовал использовать новый ol.format.GML2, который анализирует нужное количество функций, но без геометрии, поэтому я думаю, что это не так. На выходе xmls есть явная разница (см. Ниже).

Как я могу проанализировать второй xml (возвращенный ArcGIS) с помощью OpenLayers 3? Есть ли способ изменить вывод xml в ArcGIS?

Geoserver:

<?xml version="1.0" encoding="UTF-8"?> 
<wfs:FeatureCollection numberOfFeatures="2" timeStamp="2016-09-02T15:19:25.157Z" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:rkms="http://rkms" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://mapserver/geoserver/wfs?service=WFS&amp;version=1.1.0&amp;request=DescribeFeatureType&amp;typeName=rkms%3AMyLayer http://www.opengis.net/wfs http://mapserver/geoserver/schemas/wfs/1.1.0/wfs.xsd"> 
    <gml:boundedBy> 
     <gml:Envelope srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#3857"> 
      <gml:lowerCorner>6290152.654765377 2551363.9791194764</gml:lowerCorner> 
      <gml:upperCorner>6290408.655102356 2551457.2361871097</gml:upperCorner> 
     </gml:Envelope> 
    </gml:boundedBy> 
    <gml:featureMembers> 
     <rkms:MyLayer gml:id="MyLayer.4727"> 
      <gml:boundedBy> 
       <gml:Envelope srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#3857"> 
        <gml:lowerCorner>6290152.654765377 2551363.9791194764</gml:lowerCorner> 
        <gml:upperCorner>6290152.654765377 2551363.9791194764</gml:upperCorner> 
       </gml:Envelope> 
      </gml:boundedBy> 
      <rkms:fid>6319.0</rkms:fid> 
      <rkms:uwi>FAHUD WDW-5H1</rkms:uwi> 
      <rkms:display_class>General#0x0048</rkms:display_class> 
      <rkms:label>FAHUD WDW-5H1</rkms:label> 
      <rkms:the_geom> 
       <gml:Point srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#3857"> 
        <gml:pos>6290152.654765377 2551363.9791194764</gml:pos> 
       </gml:Point> 
      </rkms:the_geom> 
      <rkms:well_status>completed</rkms:well_status> 
      <rkms:show_type>unknown</rkms:show_type> 
     </rkms:MyLayer> 
     <rkms:MyLayer gml:id="MyLayer.21732"> 
      <gml:boundedBy> 
       <gml:Envelope srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#3857"> 
        <gml:lowerCorner>6290408.655102356 2551457.2361871097</gml:lowerCorner> 
        <gml:upperCorner>6290408.655102356 2551457.2361871097</gml:upperCorner> 
       </gml:Envelope> 
      </gml:boundedBy> 
      <rkms:fid>23325.0</rkms:fid> 
      <rkms:uwi>FAHUD WDW-7H1</rkms:uwi> 
      <rkms:display_class>General#0x0048</rkms:display_class> 
      <rkms:label>FAHUD WDW-7H1</rkms:label> 
      <rkms:the_geom> 
       <gml:Point srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#3857"> 
        <gml:pos>6290408.655102356 2551457.2361871097</gml:pos> 
       </gml:Point> 
      </rkms:the_geom> 
      <rkms:well_status>producing</rkms:well_status> 
      <rkms:show_type>unknown</rkms:show_type> 
     </rkms:MyLayer> 
    </gml:featureMembers> 

ArcGIS:

<?xml version="1.0" encoding="UTF-8"?> 
<wfs:FeatureCollection xmlns:MyLayer="http://mapserver/arcgis/services/MyLayer/MapServer/WFSServer" xmlns:gml="http://www.opengis.net/gml" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapserver/arcgis/services/MyLayer/MapServer/WFSServer http://mapserver/arcgis/services/MyLayer/MapServer/WFSServer?request=DescribeFeatureType%26version=1.1.0%26typename=WellHole http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"> 
    <gml:boundedBy> 
     <gml:Envelope srsName="EPSG:3857"> 
      <gml:lowerCorner>6280561.8275626749 2548148.676770444</gml:lowerCorner> 
      <gml:upperCorner>6289533.3190469407 2559799.8122104518</gml:upperCorner> 
     </gml:Envelope> 
    </gml:boundedBy> 
    <gml:featureMember> 
     <MyLayer:WellHole gml:id="F662__369"> 
      <MyLayer:OBJECTID>369</MyLayer:OBJECTID> 
      <MyLayer:Well_Number>0</MyLayer:Well_Number> 
      <MyLayer:Hole_Number>0</MyLayer:Hole_Number> 
      <MyLayer:SHAPE> 
       <gml:Point> 
        <gml:pos>6288892.4079840938 2550358.0037752441</gml:pos> 
       </gml:Point> 
      </MyLayer:SHAPE> 
     </MyLayer:WellHole> 
    </gml:featureMember> 
    <gml:featureMember> 
     <MyLayer:WellHole gml:id="F662__400"> 
      <MyLayer:OBJECTID>400</MyLayer:OBJECTID> 
      <MyLayer:Well_Number>0</MyLayer:Well_Number> 
      <MyLayer:Hole_Number>0</MyLayer:Hole_Number> 
      <MyLayer:SHAPE> 
       <gml:Point> 
        <gml:pos>6288797.9203164754 2550567.9331951309</gml:pos> 
       </gml:Point> 
      </MyLayer:SHAPE> 
     </MyLayer:WellHole> 
    </gml:featureMember> 
</wfs:FeatureCollection> 

ответ

2

Используйте ol.format.WFS, которые должны работать.

features getting parsed

+0

Не работает. Он возвращает только одну функцию, поэтому тот же результат, что и ol.format.GML3 – Leandro

+0

Попробуйте с мастером, я получаю 2 функции назад. Какую версию ты используешь? – bartvde

+0

Я использую v3.17.1, я могу попробовать с v3.18.2 – Leandro

Смежные вопросы