LPISQA 3.b.ii LPISQA portal automatic screening
Automatic screening procedure
After the successful xml/gml format validation carried out in the portal, packages data go through two other types of validation tests.
The first step, Package Item Consistency Test (former A test), consists in the validation of the xml/gml files header attributes and of the gml files geometries. Data is then extracted from gml/xml files and loaded inside JRC database.
In the second step, Package Consistency Test (former B test), data is screened for the correctness of the attributes content.
Package Item Consistency Test
In the header validation tests, files are checked against:
- invalid file format, i.e.: “.doc” or “.xls” instead of “.xml”/”.gml”; “.xml” instead of “.gml”
- invalid lpis_code, i.e.: lpis_code=“LPIS_TEST”
- invalid reporting_year, i.e.: reporting_year=“2020”
- invalid lpis_lot, i.e.: lpis_lot=“0”
- invalid xmlns:cap, i.e.: xmlns:ns1=“http://ec.europa.eu/dgagri/cap”
- invalid xsi:schemaLocation, i.e.: xsi:schemaLocation=“http://ec.europa.eu/dgagri/cap ftp://anonymous@mars.jrc.ec.europa.eu/lpis/Schemas/4_3_LpisSamplePreselectionStatus_20101221.xsd”
- invalid xmlns:xsi
- invalid xmlns:gml
- invalid xmlns
In the geometry validation tests, spatial features are evaluated according to OGC Simple Feature Access standard (http://www.opengeospatial.org/standards/sfa).
Specifically, geometry validation is carried out on JRC server by FME GeometryValidator transformer:
There can be several reasons why a feature may fail this geometry check, as described on FME website. Some examples are provided below:
- Hole Outside Shell
- WKT Example: POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (15 15, 15 20, 20 20, 20 15, 15 15))
- Nested Hole
- WKT Example: POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (2 2, 2 8, 8 8, 8 2, 2 2), (3 3, 3 7, 7 7, 7 3, 3 3))
- Disconnected Interior
- WKT Example: POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (5 0, 10 5, 5 10, 0 5, 5 0))
- Self Intersection
- WKT Example: POLYGON((0 0, 10 10, 0 10, 10 0, 0 0))
- Ring Self Intersection
- WKT Example: POLYGON((5 0, 10 0, 10 10, 0 10, 0 0, 5 0, 3 3, 5 6, 7 3, 5 0))
- Nested Shells
- WKT Example: MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)),(( 2 2, 8 2, 8 8, 2 8, 2 2)))
- Duplicated Rings
- WKT Example: MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)),((0 0, 10 0, 10 10, 0 10, 0 0)))
- Too Few Points
- WKT Example: POLYGON((2 2, 8 2))
- Invalid Coordinate
- WKT Example: POLYGON((NaN 3, 3 4, 4 4, 4 3, 3 3))
- Ring Not Closed
- WKT Example: POLYGON((0 0, 0 10, 10 10, 10 0))
Open source GIS software QGIS and OpenJUMP both have tools for geometry validation:
Package Consistency Test
In the following phase, data inside database is automatically screened for consistency of package attributes. So far, 24 tests have been developed.
They evaluate the following:
- Test b01: if the number of imported parcels in LpisSamplePreselectionStatus.xml equals the optimal pre-selection size.
- Test b02: if there are differences in rpid between the original sample pre-selection provided by JRC and the LpisSamplePreselectionStatus.xml file delivered in the ETS report package.
- Test b03: check correctness of reporting inspected and skipped parcels in the LpisSamplePreselectionSatus.xml.
- Test b04: if the reference area declared by the MS in the sample pre-selection (LpisPointZeroState.gml) equals area in the ETS package (LpisPolygonZeroState.gml).
- Test b05: if the rpid is unique (if there are no multipolygons).
- Test b06: if all inspected parcels belonging to the QC sample are present in the PolygonZeroState.gml.
- Test b07: if reference area in the ETS package (LpisPolygonZeroState.gml file) is in hectares.
- Test b08: if RP_FSI (rp_fsi_skipped_occ) attribute in LpisSamplePreselectionStatus.xml is correct.
- Test b09: if all parcels flagged as feasible for inspection in LpisSamplePreselectionStatus.xml file have only one corresponding record in EtsObservations.xml file.
- Test b10: if all parcels flagged as feasible for inspection in LpisSamplePreselectionStatus.xml file have only one corresponding polygon in LpisPolygonZeroState.gml file.
- Test b11: if reference area in the ETS package (LpisPolygonZeroState.gml file) has 4 decimal precision.
- Test b12: if all parcels flagged as “feasible for measurement” in EtsObservations.xml have reference polygon in EtsInspectionMeasurements.gml, and “not feasible for measurement” have no polygon entry.
- Test b13: if RP_CNF_observedToRecordedAreaPercentage in Observations.xml file is correctly calculated.
- Test b14: if RP_CNF_observedRecordedAreaDifference in Observations.xml file is correctly calculated.
- Test b15: if all “userDefinedLegendCode” used in EtsObservation.xml match the ones defined in EligibilityProfile.xml.
- Test b16: if all “userDefinedLegendCode” used in InspectionMeasurement.gml match the ones defined in EligibilityProfile.xml.
- Test b17: if the zoneid names defined in OrthoimagerySet.xml file are unique.
- Test b18: if all reference parcels reported as skipped in LpisSamplePreselectionStatus.xml file are consistent.
- Test b19: if all reference parcels in EtsObservations.xml file are conformant to 3% area purity test.
- Test b20: if all reference parcels in EtsObservations.xml file are conformant to 5% area purity test.
- Test b21: if all reference parcels in EtsObservations.xml file are conformant to 7% area purity test.
- Test b22: if all reference parcels in EtsObservations.xml file have consistent contamination reporting.
- Test b23: if all inspected parcels that are not feasible for measurement have assigned cause of non-conformities.
- Test b24: if all inspected parcels that are contaminated have a category of non-conformities assigned.
A more detailed description of the above tests is available here (ETS v5.3).
Go forward to schemas change log .
Return to table of contents.