def test_osm_polygon_parent_id_get_NOT_set_if_place_rank_is_lower(session, tables): session.add( tables.osm_polygon( id=1, name="Some Polygon with missing parent", place_rank=12, type='city', geometry=WKTElement("POINT(2 2)", srid=3857) ) ) session.add( tables.osm_polygon( id=2, name="Some Polygon covering the other polygon", place_rank=20, type='country', geometry=WKTElement("POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857) ) ) session.commit() set_parent_ids() assert session.query(tables.osm_polygon).get(1).parent_id is None
def test_osm_polygon_parent_id_get_set_with_nearest_rank( session, schema, tables): session.add( tables.osm_polygon(id=1, name="Some Polygon with missing parent", place_rank=20, type='city', geometry_center=WKTElement("POINT(2 2)", srid=3857))) session.add( tables.osm_polygon( id=2, name="Some Polygon with higher rank, covering the other polygon", place_rank=8, type='continent', geometry=WKTElement("POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857))) session.add( tables.osm_polygon( id=3, name="Some Polygon with same rank, covering the other polygon", place_rank=16, type='country', geometry=WKTElement("POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857))) session.commit() set_parent_ids() assert session.query(tables.osm_polygon).get(1).parent_id == 3
def test_polygon_parent_id_get_set_based_on_geometry(session, tables): session.add( tables.osm_polygon( id=1, name="Some polygon with missing parent", type='town', geometry=WKTElement("POLYGON((2 2,4 0,4 4,0 4,2 2))", srid=3857) ) ) session.add( tables.osm_polygon( id=2, name="Some Polygon covering the polygon", place_rank=20, type='state', geometry=WKTElement("POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857) ) ) session.commit() set_parent_ids() assert session.query(tables.osm_polygon).get(1).parent_id == 2
def test_point_parent_id_get_not_set_if_place_rank_lower(session, tables): session.add( tables.osm_point( id=1, name="Some point with missing parent", type='town', place_rank=2, geometry=WKTElement("POINT(2 2)", srid=3857) ) ) session.add( tables.osm_polygon( id=2, name="Some Polygon covering the point but higher place_rank", place_rank=20, type='state', geometry=WKTElement("POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857) ) ) session.commit() set_parent_ids() assert session.query(tables.osm_point).get(1).parent_id is None
def test_linestring_parent_id_get_set_based_on_geometry_center(session, tables): session.add( tables.osm_linestring( id=1, name="Some linestring with missing parent", type='street', geometry_center=WKTElement("POINT(2 2)", srid=3857) ) ) session.add( tables.osm_polygon( id=2, name="Some Polygon covering the linestring", place_rank=20, type='city', geometry=WKTElement("POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857) ) ) session.commit() set_parent_ids() assert session.query(tables.osm_linestring).get(1).parent_id == 2
def test_point_parent_id_get_set(session, schema, tables): session.add( tables.osm_point(id=1, name="Some point with missing parent", type='town', place_rank=20, geometry=WKTElement("POINT(2 2)", srid=3857))) session.add( tables.osm_polygon(id=2, name="Some Polygon covering the point", place_rank=16, type='state', geometry=WKTElement( "POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857))) session.commit() set_parent_ids() assert session.query(tables.osm_point).get(1).parent_id == 2
def test_housenumber_parent_id_get_set_based_on_geometry_center( session, schema, tables): session.add( tables.osm_housenumber(id=1, name="Some housenumber with missing parent", geometry_center=WKTElement("POINT(2 2)", srid=3857))) session.add( tables.osm_polygon(id=2, name="Some Polygon covering the housenumber", place_rank=20, type='city', geometry=WKTElement( "POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857))) session.commit() set_parent_ids() assert session.query(tables.osm_housenumber).get(1).parent_id == 2
def test_osm_polygon_parent_id_get_set_if_place_rank_not_provided( session, schema, tables): session.add( tables.osm_polygon( id=1, name="Some Polygon with missing parent and place_rank", type='city', geometry_center=WKTElement("POINT(2 2)", srid=3857))) session.add( tables.osm_polygon(id=2, name="Some Polygon covering the other polygon", place_rank=20, type='country', geometry=WKTElement( "POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857))) session.commit() set_parent_ids() assert session.query(tables.osm_polygon).get(1).parent_id == 2
def test_polygon_parent_id_NOT_set_if_polygon_not_fully_covered( session, schema, tables): session.add( tables.osm_polygon(id=1, name="Some polygon with missing parent", type='town', geometry=WKTElement( "POLYGON((2 0,6 0,4 4,0 4,2 0))", srid=3857))) session.add( tables.osm_polygon(id=2, name="Some Polygon covering the polygon", place_rank=20, type='state', geometry=WKTElement( "POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857))) session.commit() set_parent_ids() assert session.query(tables.osm_polygon).get(1).parent_id is None
def test_osm_polygon_parent_id_get_NOT_set_if_place_rank_is_lower( session, tables): session.add( tables.osm_polygon(id=1, name="Some Polygon with missing parent", place_rank=12, type='city', geometry=WKTElement("POINT(2 2)", srid=3857))) session.add( tables.osm_polygon(id=2, name="Some Polygon covering the other polygon", place_rank=20, type='country', geometry=WKTElement( "POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857))) session.commit() set_parent_ids() assert session.query(tables.osm_polygon).get(1).parent_id is None
def test_linestring_parent_id_get_set_based_on_geometry_center( session, tables): session.add( tables.osm_linestring(id=1, name="Some linestring with missing parent", type='street', geometry_center=WKTElement("POINT(2 2)", srid=3857))) session.add( tables.osm_polygon(id=2, name="Some Polygon covering the linestring", place_rank=20, type='city', geometry=WKTElement( "POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857))) session.commit() set_parent_ids() assert session.query(tables.osm_linestring).get(1).parent_id == 2
def test_osm_polygon_parent_id_get_set_with_nearest_rank(session, tables): session.add( tables.osm_polygon( id=1, name="Some Polygon with missing parent", place_rank=20, type='city', geometry=WKTElement("POINT(2 2)", srid=3857) ) ) session.add( tables.osm_polygon( id=2, name="Some Polygon with higher rank, covering the other polygon", place_rank=8, type='continent', geometry=WKTElement("POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857) ) ) session.add( tables.osm_polygon( id=3, name="Some Polygon with same rank, covering the other polygon", place_rank=16, type='country', geometry=WKTElement("POLYGON((0 0,4 0,4 4,0 4,0 0))", srid=3857) ) ) session.commit() set_parent_ids() assert session.query(tables.osm_polygon).get(1).parent_id == 3