Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alexbruy committed Jan 29, 2024
1 parent eb44135 commit e5c6b7b
Show file tree
Hide file tree
Showing 8 changed files with 377 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<?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/ extract_specific_nodes_points.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>2 7</gml:upperCorner></gml:Envelope></gml:boundedBy>

<ogr:featureMember>
<ogr:extract_specific_nodes_points gml:id="extract_specific_nodes_points.0">
<ogr:fid>points.9</ogr:fid>
<ogr:d>5</ogr:d>
<ogr:vertex_pos xsi:nil="true"/>
<ogr:vertex_index xsi:nil="true"/>
<ogr:vertex_part xsi:nil="true"/>
<ogr:vertex_part_index xsi:nil="true"/>
<ogr:distance xsi:nil="true"/>
<ogr:angle xsi:nil="true"/>
</ogr:extract_specific_nodes_points>
</ogr:featureMember>
<ogr:featureMember>
<ogr:extract_specific_nodes_points gml:id="extract_specific_nodes_points.1">
<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="extract_specific_nodes_points.geom.1"><gml:pos>1 1</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:d>1</ogr:d>
<ogr:vertex_pos>0</ogr:vertex_pos>
<ogr:vertex_index>0</ogr:vertex_index>
<ogr:vertex_part>0</ogr:vertex_part>
<ogr:vertex_part_index>0</ogr:vertex_part_index>
<ogr:distance>0</ogr:distance>
<ogr:angle>0</ogr:angle>
</ogr:extract_specific_nodes_points>
</ogr:featureMember>
<ogr:featureMember>
<ogr:extract_specific_nodes_points gml:id="extract_specific_nodes_points.2">
<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="extract_specific_nodes_points.geom.2"><gml:pos>2 5</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:d>2</ogr:d>
<ogr:vertex_pos>0</ogr:vertex_pos>
<ogr:vertex_index>0</ogr:vertex_index>
<ogr:vertex_part>0</ogr:vertex_part>
<ogr:vertex_part_index>0</ogr:vertex_part_index>
<ogr:distance>0</ogr:distance>
<ogr:angle>0</ogr:angle>
</ogr:extract_specific_nodes_points>
</ogr:featureMember>
<ogr:featureMember>
<ogr:extract_specific_nodes_points gml:id="extract_specific_nodes_points.3">
<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="extract_specific_nodes_points.geom.3"><gml:pos>-5 0</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.5</ogr:fid>
<ogr:d>3</ogr:d>
<ogr:vertex_pos>0</ogr:vertex_pos>
<ogr:vertex_index>0</ogr:vertex_index>
<ogr:vertex_part>0</ogr:vertex_part>
<ogr:vertex_part_index>0</ogr:vertex_part_index>
<ogr:distance>0</ogr:distance>
<ogr:angle>0</ogr:angle>
</ogr:extract_specific_nodes_points>
</ogr:featureMember>
<ogr:featureMember>
<ogr:extract_specific_nodes_points gml:id="extract_specific_nodes_points.4">
<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="extract_specific_nodes_points.geom.4"><gml:pos>-1 7</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:d>4</ogr:d>
<ogr:vertex_pos>0</ogr:vertex_pos>
<ogr:vertex_index>0</ogr:vertex_index>
<ogr:vertex_part>0</ogr:vertex_part>
<ogr:vertex_part_index>0</ogr:vertex_part_index>
<ogr:distance>0</ogr:distance>
<ogr:angle>0</ogr:angle>
</ogr:extract_specific_nodes_points>
</ogr:featureMember>
</ogr:FeatureCollection>
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?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>0</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="extract_specific_nodes_points" type="ogr:extract_specific_nodes_points_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="extract_specific_nodes_points_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="d" 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="vertex_pos" 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="vertex_index" 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="vertex_part" 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="vertex_part_index" 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="distance" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="angle" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?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/ filter_points_by_z.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope srsDimension="3" srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 0 1</gml:lowerCorner><gml:upperCorner>1 4 1</gml:upperCorner></gml:Envelope></gml:boundedBy>

<ogr:featureMember>
<ogr:filter_points_by_z gml:id="filter_points_by_z.0">
<ogr:fid>points.9</ogr:fid>
<ogr:d>5</ogr:d>
</ogr:filter_points_by_z>
</ogr:featureMember>
<ogr:featureMember>
<ogr:filter_points_by_z gml:id="filter_points_by_z.1">
<gml:boundedBy><gml:Envelope srsDimension="3" srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 1 1</gml:lowerCorner><gml:upperCorner>1 1 1</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="filter_points_by_z.geom.1"><gml:pointMember><gml:Point gml:id="filter_points_by_z.geom.1.0"><gml:pos>1 1 1</gml:pos></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:d>1</ogr:d>
</ogr:filter_points_by_z>
</ogr:featureMember>
<ogr:featureMember>
<ogr:filter_points_by_z gml:id="filter_points_by_z.2">
<gml:boundedBy><gml:Envelope srsDimension="3" srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 4 1</gml:lowerCorner><gml:upperCorner>1 4 1</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="filter_points_by_z.geom.2"><gml:pointMember><gml:Point gml:id="filter_points_by_z.geom.2.0"><gml:pos>1 4 1</gml:pos></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:d>2</ogr:d>
</ogr:filter_points_by_z>
</ogr:featureMember>
<ogr:featureMember>
<ogr:filter_points_by_z gml:id="filter_points_by_z.3">
<ogr:fid>points.5</ogr:fid>
<ogr:d>3</ogr:d>
</ogr:filter_points_by_z>
</ogr:featureMember>
<ogr:featureMember>
<ogr:filter_points_by_z gml:id="filter_points_by_z.4">
<gml:boundedBy><gml:Envelope srsDimension="3" srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 0 1</gml:lowerCorner><gml:upperCorner>-1 0 1</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="filter_points_by_z.geom.4"><gml:pointMember><gml:Point gml:id="filter_points_by_z.geom.4.0"><gml:pos>-1 0 1</gml:pos></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:d>4</ogr:d>
</ogr:filter_points_by_z>
</ogr:featureMember>
</ogr:FeatureCollection>
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?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>0</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="filter_points_by_z" type="ogr:filter_points_by_z_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="filter_points_by_z_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:MultiPointPropertyType" 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="d" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
19 changes: 19 additions & 0 deletions python/plugins/processing/tests/testdata/multipointsz.gfs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<GMLFeatureClassList>
<GMLFeatureClass>
<Name>multipointsz</Name>
<ElementPath>multipointsz</ElementPath>
<SRSName>EPSG:4326</SRSName>
<DatasetSpecificInfo>
<FeatureCount>5</FeatureCount>
<ExtentXMin>0.00000</ExtentXMin>
<ExtentXMax>8.00000</ExtentXMax>
<ExtentYMin>-5.00000</ExtentYMin>
<ExtentYMax>3.00000</ExtentYMax>
</DatasetSpecificInfo>
<PropertyDefn>
<Name>d</Name>
<ElementPath>d</ElementPath>
<Type>Integer</Type>
</PropertyDefn>
</GMLFeatureClass>
</GMLFeatureClassList>
43 changes: 43 additions & 0 deletions python/plugins/processing/tests/testdata/multipointsz.gml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=""
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml">
<gml:boundedBy>
<gml:Box>
<gml:coord><gml:X>0</gml:X><gml:Y>-5</gml:Y></gml:coord>
<gml:coord><gml:X>8</gml:X><gml:Y>3</gml:Y></gml:coord>
</gml:Box>
</gml:boundedBy>

<gml:featureMember>
<ogr:multipointsz fid="points.9">
<ogr:d>5</ogr:d>
</ogr:multipointsz>
</gml:featureMember>
<gml:featureMember>
<ogr:multipointsz fid="points.0">
<ogr:geometryProperty><gml:MultiPoint srsName="EPSG:4326"><gml:pointMember><gml:Point><gml:coordinates>1,1,1</gml:coordinates></gml:Point></gml:pointMember><gml:pointMember><gml:Point><gml:coordinates>2,2,2</gml:coordinates></gml:Point></gml:pointMember><gml:pointMember><gml:Point><gml:coordinates>3,3,3</gml:coordinates></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:d>1</ogr:d>
</ogr:multipointsz>
</gml:featureMember>
<gml:featureMember>
<ogr:multipointsz fid="points.3">
<ogr:geometryProperty><gml:MultiPoint srsName="EPSG:4326"><gml:pointMember><gml:Point><gml:coordinates>5,2,2</gml:coordinates></gml:Point></gml:pointMember><gml:pointMember><gml:Point><gml:coordinates>4,1,1</gml:coordinates></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:d>2</ogr:d>
</ogr:multipointsz>
</gml:featureMember>
<gml:featureMember>
<ogr:multipointsz fid="points.5">
<ogr:geometryProperty><gml:MultiPoint srsName="EPSG:4326"><gml:pointMember><gml:Point><gml:coordinates>0,-5,2</gml:coordinates></gml:Point></gml:pointMember><gml:pointMember><gml:Point><gml:coordinates>8,-1,2</gml:coordinates></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:d>3</ogr:d>
</ogr:multipointsz>
</gml:featureMember>
<gml:featureMember>
<ogr:multipointsz fid="points.7">
<ogr:geometryProperty><gml:MultiPoint srsName="EPSG:4326"><gml:pointMember><gml:Point><gml:coordinates>7,-1,3</gml:coordinates></gml:Point></gml:pointMember><gml:pointMember><gml:Point><gml:coordinates>0,-1,1</gml:coordinates></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:d>4</ogr:d>
</ogr:multipointsz>
</gml:featureMember>
</ogr:FeatureCollection>
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,21 @@ tests:
fields:
fid: skip

- algorithm: native:extractspecificvertices
name: Extract specific vertices points
params:
INPUT:
name: multipoints.gml
type: vector
VERTICES: '0'
results:
OUTPUT:
name: expected/extract_specific_nodes_points.gml
type: vector
compare:
fields:
fid: skip

- algorithm: native:fuzzifyrasterlinearmembership
name: Test (native:fuzzifyrasterlinearmembership)
params:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1166,6 +1166,22 @@ tests:
name: expected/filter_by_z.shp
type: vector

- algorithm: native:filterverticesbyz
name: Filter by z (points)
params:
INPUT:
name: multipointsz.gml
type: vector
MAX: 1.0
MIN: 1.0
results:
OUTPUT:
name: expected/filter_points_by_z.gml
type: vector
compare:
fields:
fid: skip

- algorithm: native:arraytranslatedfeatures
name: Array of point features
params:
Expand Down

0 comments on commit e5c6b7b

Please sign in to comment.