Skip to content

Commit

Permalink
Merge pull request #64 from geopython/pygeoif-1.0.0
Browse files Browse the repository at this point in the history
add back pygeoif 1.0.0
  • Loading branch information
constantinius authored Jan 9, 2023
2 parents 227a12f + a6a20dc commit 94770d6
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 59 deletions.
4 changes: 2 additions & 2 deletions pygeofilter/backends/sqlalchemy/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from inspect import signature
from typing import Callable, Dict

from pygeoif.geometry import as_shape
from pygeoif import shape
from sqlalchemy import and_, func, not_, or_


Expand All @@ -19,7 +19,7 @@ def parse_bbox(box, srid: int = None):


def parse_geometry(geom):
wkt = as_shape(geom).to_wkt()
wkt = shape(geom).wkt
search = re.search(r"SRID=(\d+);", wkt)
sridtxt = "" if search else "SRID=4326;"
return func.ST_GeomFromEWKT(f"{sridtxt}{wkt}")
Expand Down
6 changes: 3 additions & 3 deletions pygeofilter/values.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from datetime import date, datetime, time, timedelta
from typing import Any, List, Optional, Union

from pygeoif.geometry import as_shape
from pygeoif import shape


@dataclass
Expand All @@ -42,7 +42,7 @@ def __geo_interface__(self):
return self.geometry

def __eq__(self, o: object) -> bool:
return as_shape(self).__geo_interface__ == as_shape(o).__geo_interface__
return shape(self).__geo_interface__ == shape(o).__geo_interface__


@dataclass
Expand Down Expand Up @@ -72,7 +72,7 @@ def __geo_interface__(self):
return self.geometry

def __eq__(self, o: object) -> bool:
return as_shape(self).__geo_interface__ == as_shape(o).__geo_interface__
return shape(self).__geo_interface__ == shape(o).__geo_interface__


@dataclass
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
install_requires=[
"dateparser",
"lark<1.0",
"pygeoif==0.7",
"pygeoif>=1.0.0",
"dataclasses;python_version<'3.7'",
]
if not on_rtd
Expand Down
28 changes: 11 additions & 17 deletions tests/parsers/cql2_json/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -383,8 +383,8 @@ def test_within_multipolygon_attr():
assert result == ast.GeometryWithin(
values.Geometry(
normalize_geom(
geometry.MultiPolygon(
[geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])]
geometry.MultiPolygon.from_polygons(
geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])
).__geo_interface__
),
),
Expand All @@ -410,11 +410,9 @@ def test_touches_attr_multilinestring():
ast.Attribute("geometry"),
values.Geometry(
normalize_geom(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__
),
),
Expand All @@ -439,11 +437,9 @@ def test_crosses_attr_multilinestring():
ast.Attribute("geometry"),
values.Geometry(
normalize_geom(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__
)
),
Expand All @@ -468,11 +464,9 @@ def test_overlaps_attr_multilinestring():
ast.Attribute("geometry"),
values.Geometry(
normalize_geom(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__
),
),
Expand Down
28 changes: 11 additions & 17 deletions tests/parsers/cql_json/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -454,8 +454,8 @@ def test_within_multipolygon_attr():
assert result == ast.GeometryWithin(
values.Geometry(
normalize_geom(
geometry.MultiPolygon(
[geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])]
geometry.MultiPolygon.from_polygons(
geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])
).__geo_interface__
),
),
Expand All @@ -480,11 +480,9 @@ def test_touches_attr_multilinestring():
ast.Attribute("geometry"),
values.Geometry(
normalize_geom(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__
),
),
Expand All @@ -508,11 +506,9 @@ def test_crosses_attr_multilinestring():
ast.Attribute("geometry"),
values.Geometry(
normalize_geom(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__
)
),
Expand All @@ -536,11 +532,9 @@ def test_overlaps_attr_multilinestring():
ast.Attribute("geometry"),
values.Geometry(
normalize_geom(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__
),
),
Expand Down
28 changes: 11 additions & 17 deletions tests/parsers/ecql/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,8 @@ def test_within_multipolygon_attr():
result = parse("WITHIN(MULTIPOLYGON(((1 1,2 2,0 3,1 1))), geometry)")
assert result == ast.GeometryWithin(
values.Geometry(
geometry.MultiPolygon(
[geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])]
geometry.MultiPolygon.from_polygons(
geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])
).__geo_interface__,
),
ast.Attribute("geometry"),
Expand All @@ -314,11 +314,9 @@ def test_touches_attr_multilinestring():
assert result == ast.GeometryTouches(
ast.Attribute("geometry"),
values.Geometry(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__,
),
)
Expand All @@ -329,11 +327,9 @@ def test_crosses_attr_multilinestring():
assert result == ast.GeometryCrosses(
ast.Attribute("geometry"),
values.Geometry(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__,
),
)
Expand All @@ -344,11 +340,9 @@ def test_overlaps_attr_multilinestring():
assert result == ast.GeometryOverlaps(
ast.Attribute("geometry"),
values.Geometry(
geometry.MultiLineString(
[
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
]
geometry.MultiLineString.from_linestrings(
geometry.LineString([(1, 1), (2, 2)]),
geometry.LineString([(0, 3), (1, 1)]),
).__geo_interface__,
),
)
Expand Down
4 changes: 2 additions & 2 deletions tests/parsers/jfe/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,8 +202,8 @@ def test_within_multipolygon_attr():
assert result == ast.GeometryWithin(
values.Geometry(
normalize_geom(
geometry.MultiPolygon(
[geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])]
geometry.MultiPolygon.from_polygons(
geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])
).__geo_interface__
),
),
Expand Down

0 comments on commit 94770d6

Please sign in to comment.