transform_test.py
Go to the documentation of this file.
1 #==============================================================================
2 # Copyright (C) 2021-2024 Wageningen University - All Rights Reserved
3 # Author: Gonzalo Mier
4 # BSD-3 License
5 #==============================================================================
6 
7 import pytest
8 import fields2cover as f2c
9 
10 def near(a, b, error = 1e-7):
11  assert abs(a - b) < error
12 
13 # Transform class won't be in the interface
15  poly = f2c.Cell(f2c.LinearRing(f2c.VectorPoint([
16  f2c.Point(6.062131843297665, 51.51238564279176, 0),
17  f2c.Point(6.062215149507296, 51.51204470468504, 0),
18  f2c.Point(6.062232423018175, 51.51197104647852, 0),
19  f2c.Point(6.062259746209906, 51.51187606814959, 0),
20  f2c.Point(6.062131843297665, 51.51238564279176, 0),
21  ])));
22  poly_to_transform = poly;
23  assert (poly == poly_to_transform);
24  field = f2c.Field(f2c.Cells(poly_to_transform));
25  field.setEPSGCoordSystem(4326);
26  f2c.Transform.transform(field, "EPSG:28992");
27  near(field.getField().getCellBorder(0).startPoint().getX(), 0);
28  near(field.getField().getCellBorder(0).startPoint().getY(), 0);
29  near(field.getField().getCellBorder(0).startPoint().getZ(), 0);
30  assert (field.getCRS() == "EPSG:28992");
31 
32  ref_gps_point = f2c.Transform.getRefPointInGPS(field);
33  near(ref_gps_point.getX(), 6.062131843297665, 1e-3);
34  near(ref_gps_point.getY(), 51.51238564279176, 1e-3);
35  near(ref_gps_point.getZ(), 0, 1e-3);
36 
37  f2c.Transform.transform(field, "EPSG:4326");
38  final_field = field.getCellsAbsPosition().getCellBorder(0);
39  for i in range(final_field.size()):
40  near(final_field.getGeometry(i).getX(),
41  poly.getGeometry(0).getGeometry(i).getX(), 1e-3);
42  near(final_field.getGeometry(i).getY(),
43  poly.getGeometry(0).getGeometry(i).getY(), 1e-3);
44  near(final_field.getGeometry(i).getZ(),
45  poly.getGeometry(0).getGeometry(i).getZ(), 1e-3);
46 
47  path = f2c.Path()
48  f2c.Transform.transformPathWithFieldRef(path, field, "EPSG:4326");
f2c::Transform::transform
static void transform(F2CField &field, const std::string &coord_sys_to)
Definition: transformation.cpp:20
f2c::Transform::transformPathWithFieldRef
static F2CPath transformPathWithFieldRef(const F2CPath &path, const F2CField &field, const std::string &coord_sys_to)
Definition: transformation.cpp:50
transform_test.near
def near(a, b, error=1e-7)
Definition: transform_test.py:10
transform_test.test_fields2cover_utils_transformer_convertToF2CAndReturn
def test_fields2cover_utils_transformer_convertToF2CAndReturn()
Definition: transform_test.py:14
f2c::Transform::getRefPointInGPS
static F2CPoint getRefPointInGPS(const F2CField &field)
Definition: transformation.cpp:235


fields2cover
Author(s):
autogenerated on Fri Apr 25 2025 02:18:31