Geoserver: WFS не возвращает узлы для столбцов с нулевыми значениями
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 для возврата пустого узла, когда он встречает столбец с нулевым значением?
2 ответа
По-видимому, это сделано специально, так как это спецификация WFS. Смотрите соответствующее обсуждение:
http://osgeo-org.1560.x6.nabble.com/Why-the-WFS-does-not-return-the-NULL-value-field-td3802398.html
В этом потоке предлагается вместо этого проанализировать ответ "DescribeFeatureType", который содержит все поля.
Теперь, если бы только был элемент управления / плагин OpenLayers, который сочетал бы это поведение, я был бы счастлив, но я думаю, что я буду вынужден разработать его с нуля.
descriptionfeaturetype возвращает только имена столбцов. Тем не менее, если один столбец содержит значение NULL, он не появляется в ответе, даже если для некоторых строк он имеет значение.