mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-25 00:12:17 -05:00
[processing] Add missing {string,integer,double} array types in the field mapping widget
This commit is contained in:
parent
36f513d7eb
commit
e722475a48
118
python/plugins/processing/tests/testdata/expected/refactor_array.gml
vendored
Normal file
118
python/plugins/processing/tests/testdata/expected/refactor_array.gml
vendored
Normal file
@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ogr:FeatureCollection
|
||||
gml:id="aFeatureCollection"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://ogr.maptools.org/ refactor_array.xsd"
|
||||
xmlns:ogr="http://ogr.maptools.org/"
|
||||
xmlns:gml="http://www.opengis.net/gml/3.2">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-5 0</gml:lowerCorner><gml:upperCorner>3 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.0">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 1</gml:lowerCorner><gml:upperCorner>1 1</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.0"><gml:pos>1 1</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.0</ogr:fid>
|
||||
<ogr:id>1</ogr:id>
|
||||
<ogr:id2>2</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.1">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>3 3</gml:lowerCorner><gml:upperCorner>3 3</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.1"><gml:pos>3 3</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.1</ogr:fid>
|
||||
<ogr:id>2</ogr:id>
|
||||
<ogr:id2>1</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.2">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>2 2</gml:lowerCorner><gml:upperCorner>2 2</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.2"><gml:pos>2 2</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.2</ogr:fid>
|
||||
<ogr:id>3</ogr:id>
|
||||
<ogr:id2>0</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.3">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>2 5</gml:lowerCorner><gml:upperCorner>2 5</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.3"><gml:pos>2 5</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.3</ogr:fid>
|
||||
<ogr:id>4</ogr:id>
|
||||
<ogr:id2>2</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.4">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 4</gml:lowerCorner><gml:upperCorner>1 4</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.4"><gml:pos>1 4</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.4</ogr:fid>
|
||||
<ogr:id>5</ogr:id>
|
||||
<ogr:id2>1</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.5">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-5 0</gml:lowerCorner><gml:upperCorner>-5 0</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.5"><gml:pos>-5 0</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.5</ogr:fid>
|
||||
<ogr:id>6</ogr:id>
|
||||
<ogr:id2>0</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.6">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 8</gml:lowerCorner><gml:upperCorner>-1 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.6"><gml:pos>-1 8</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.6</ogr:fid>
|
||||
<ogr:id>7</ogr:id>
|
||||
<ogr:id2>0</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.7">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 7</gml:lowerCorner><gml:upperCorner>-1 7</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.7"><gml:pos>-1 7</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.7</ogr:fid>
|
||||
<ogr:id>8</ogr:id>
|
||||
<ogr:id2>0</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
<ogr:featureMember>
|
||||
<ogr:refactor_array gml:id="refactor_array.8">
|
||||
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 0</gml:lowerCorner><gml:upperCorner>-1 0</gml:upperCorner></gml:Envelope></gml:boundedBy>
|
||||
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="refactor_array.geom.8"><gml:pos>-1 0</gml:pos></gml:Point></ogr:geometryProperty>
|
||||
<ogr:fid>points.8</ogr:fid>
|
||||
<ogr:id>9</ogr:id>
|
||||
<ogr:id2>0</ogr:id2>
|
||||
<ogr:array>1</ogr:array>
|
||||
<ogr:array>2</ogr:array>
|
||||
<ogr:array>3</ogr:array>
|
||||
</ogr:refactor_array>
|
||||
</ogr:featureMember>
|
||||
</ogr:FeatureCollection>
|
||||
74
python/plugins/processing/tests/testdata/expected/refactor_array.xsd
vendored
Normal file
74
python/plugins/processing/tests/testdata/expected/refactor_array.xsd
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema
|
||||
targetNamespace="http://ogr.maptools.org/"
|
||||
xmlns:ogr="http://ogr.maptools.org/"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:gml="http://www.opengis.net/gml/3.2"
|
||||
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
|
||||
elementFormDefault="qualified"
|
||||
version="1.0">
|
||||
<xs:annotation>
|
||||
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
|
||||
<gmlsf:ComplianceLevel>1</gmlsf:ComplianceLevel>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
|
||||
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
|
||||
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
|
||||
<xs:complexType name="FeatureCollectionType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="gml:AbstractFeatureType">
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="featureMember">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="gml:AbstractFeatureMemberType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="gml:AbstractFeature"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="refactor_array" type="ogr:refactor_array_Type" substitutionGroup="gml:AbstractFeature"/>
|
||||
<xs:complexType name="refactor_array_Type">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="gml:AbstractFeatureType">
|
||||
<xs:sequence>
|
||||
<xs:element name="geometryProperty" type="gml:PointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/><!-- srsName="urn:ogc:def:crs:EPSG::4326" -->
|
||||
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:totalDigits value="10"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:totalDigits value="10"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="array" nillable="true" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:totalDigits value="16"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
@ -1311,6 +1311,39 @@ tests:
|
||||
name: expected/refactor_fields_null.gml
|
||||
type: vector
|
||||
|
||||
- algorithm: qgis:refactorfields
|
||||
name: Refactor fields, array
|
||||
params:
|
||||
FIELDS_MAPPING:
|
||||
- expression: '"fid"'
|
||||
length: 0
|
||||
name: fid
|
||||
precision: 0
|
||||
type: 10
|
||||
- expression: '"id"'
|
||||
length: 0
|
||||
name: id
|
||||
precision: 0
|
||||
type: 2
|
||||
- expression: '"id2"'
|
||||
length: 0
|
||||
name: id2
|
||||
precision: 0
|
||||
type: 2
|
||||
- expression: 'array(1,2,3)'
|
||||
length: 0
|
||||
name: array
|
||||
precision: 0
|
||||
type: 9
|
||||
sub_type: 2
|
||||
INPUT:
|
||||
name: points.gml
|
||||
type: vector
|
||||
results:
|
||||
OUTPUT:
|
||||
name: expected/refactor_array.gml
|
||||
type: vector
|
||||
|
||||
- algorithm: native:reprojectlayer
|
||||
name: reproject vector layer
|
||||
params:
|
||||
|
||||
@ -416,7 +416,11 @@ const QList<QgsVectorDataProvider::NativeType> QgsFieldMappingModel::dataTypesV2
|
||||
<< QgsVectorDataProvider::NativeType( tr( "Time" ), QStringLiteral( "time" ), QVariant::Time )
|
||||
<< QgsVectorDataProvider::NativeType( tr( "Date & Time" ), QStringLiteral( "datetime" ), QVariant::DateTime )
|
||||
<< QgsVectorDataProvider::NativeType( tr( "Boolean" ), QStringLiteral( "boolean" ), QVariant::Bool )
|
||||
<< QgsVectorDataProvider::NativeType( tr( "Binary object (BLOB)" ), QStringLiteral( "binary" ), QVariant::ByteArray );
|
||||
<< QgsVectorDataProvider::NativeType( tr( "Binary object (BLOB)" ), QStringLiteral( "binary" ), QVariant::ByteArray )
|
||||
<< QgsVectorDataProvider::NativeType( tr( "String list" ), QStringLiteral( "stringlist" ), QVariant::StringList, 0, 0, 0, 0, QVariant::String )
|
||||
<< QgsVectorDataProvider::NativeType( tr( "Integer list" ), QStringLiteral( "integerlist" ), QVariant::List, 0, 0, 0, 0, QVariant::Int )
|
||||
<< QgsVectorDataProvider::NativeType( tr( "Decimal (real) list" ), QStringLiteral( "doublelist" ), QVariant::List, 0, 0, 0, 0, QVariant::Double )
|
||||
<< QgsVectorDataProvider::NativeType( tr( "Integer (64bit) list" ), QStringLiteral( "integer64list" ), QVariant::List, 0, 0, 0, 0, QVariant::LongLong );
|
||||
return sDataTypes;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user