Я пытаюсь сохранить «пустую» функцию, используя openlayers (версия> = 3), например:
let defaultFeature = new ol.Feature({
geometry: new ol.geom.MultiLineString([]),
});
Как видите, это просто пустая многоканальная строка, ожидающая заполнения строк.
У меня есть таблица базы данных, построенная так:
CREATE TABLE md (
id SERIAL PRIMARY KEY NOT NULL,
name varchar(40) NOT NULL,
geometry geometry(MULTILINESTRING, 3857)
);
затем я отправляю эту функцию крошечным хранилищам (здесь полезная нагрузка)
<Transaction
xmlns="http://www.opengis.net/wfs" service="WFS" version="1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
<Insert>
<md
xmlns="http://www.tinyows.org/">
<geometry>
<MultiLineString
xmlns="http://www.opengis.net/gml" srsName="EPSG:3857"/>
</geometry>
</md>
</Insert>
</Transaction>
но база данных возвращает ошибку:
Geometry has Z dimension but column does not
После получения этой ошибки я попытался использовать параметр "opt_layout" (http://openlayers.org/en/latest/apidoc/module-ol_geom_MultiLineString-MultiLineString.html), например:
let defaultMdFeature = new ol.Feature({
geometry: new ol.geom.MultiLineString([], 'XY'),
});
и полезная нагрузка:
<Transaction
xmlns="http://www.opengis.net/wfs" service="WFS" version="1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
<Insert>
<md
xmlns="http://www.tinyows.org/">
<geometry>
<MultiLineString
xmlns="http://www.opengis.net/gml" srsName="EPSG:3857"/>
</geometry>
</md>
</Insert>
</Transaction>
К сожалению, я получаю ту же ошибку, даже указав макет.
У меня вопрос: есть ли способ сохранить пустую 2d мультилинестринг в postgis?
заранее благодарю за поддержку,
G.R.