GeoServer 2.3 не возвращает пустой узел XML для столбцов с нулевыми значениями. Например, это фрагмент, взятый из ответа WFS на CQL-запрос:

<gml:featureMember>
<ems:airports fid="airports.3822">
<ems:IKO>KINL</ems:IKO>
<ems:na3>US24271</ems:na3>
<ems:Name>FALLS INTL</ems:Name>
<ems:Type>Civilian/Public</ems:Type>
<ems:the_geom>...</ems:the_geom>
<ems:Mod_time>2011-09-02T20:17:30.831</ems:Mod_time>
</ems:airports>
</gml:featureMember>
<gml:featureMember>
<ems:airports fid="airports.10117">
<ems:IKO>CKV3</ems:IKO>
<ems:Name>DRYDEN BEST WESTERN (Heli)</ems:Name>
<ems:the_geom>
<gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">-92.833333,49.783333</gml:coordinates>
</gml:Point>
</ems:the_geom>
<ems:Mod_time>2011-09-08T16:56:07.334</ems:Mod_time>
<ems:Country>Canada</ems:Country>
<ems:Operator>Best Western Motor Inn</ems:Operator>
<ems:Contact>807-223-3201</ems:Contact>
</ems:airports>
</gml:featureMember>

Во втором элементе featureMember отсутствуют узлы na3 и Type, поскольку в базе данных они отсутствуют.

Есть ли способ настроить GeoServer так, чтобы он возвращал пустой узел, когда он встречает столбец с нулевым значением?

1
Klaus Nji 4 Мар 2014 в 22:37

2 ответа

Лучший ответ

Видимо, это намеренно, поскольку это спецификация WFS. См. Соответствующее обсуждение:

http://osgeo-org.1560.x6.nabble.com/Why-the-WFS-does-not-return-the-NULL-value-field-td3802398.html

В этом потоке предлагается вместо этого проанализировать ответ «DescribeFeatureType», который действительно содержит все поля.

Если бы только был OpenLayers Control / Plugin, который сочетал бы это поведение, я был бы счастлив, но я думаю, что мне придется разработать его с нуля.

1
pkExec 26 Авг 2014 в 13:38

Descriptionfeaturetype возвращает только имена столбцов. Тем не менее, если один столбец содержит значение NULL, он не отображается в ответе, даже если для некоторых строк он имеет значение.

0
Patrick Szalapski 2 Янв 2015 в 15:48