Skip to content

Commit 99b69ee

Browse files
committed
fix test, add changelog
1 parent 4e0ff80 commit 99b69ee

File tree

3 files changed

+20
-37
lines changed

3 files changed

+20
-37
lines changed

CHANGES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Release Notes
22

3+
## Unreleased
4+
Add options to reduce the bandwidth required for returning record geometries.
5+
- bbox-only=[bool] only return the bounding box in the return geometry
6+
- geom-column=none don't return geometry as part of the return
7+
- simplify=[float] Use ST_SnapToGrid(ST_Simplify(geom, [simplify]),[simplify]) to simplify and reduce precision of output geometry.
8+
39
## 0.1.0
410

511
Initial release

tests/routes/test_items.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,5 +480,6 @@ def test_items_geometry_return_options(app):
480480
[-13.255, 81.856],
481481
[-10.803, 80.989],
482482
]
483-
]
483+
],
484+
"type": "Polygon",
484485
}

tifeatures/layer.py

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,7 @@ def _where(
198198

199199
w.append(
200200
logic.V(col.name)
201-
== logic.S(
202-
pg_funcs.cast(pg_funcs.cast(val, "text"), col.type)
203-
)
201+
== logic.S(pg_funcs.cast(pg_funcs.cast(val, "text"), col.type))
204202
)
205203

206204
if w:
@@ -226,13 +224,9 @@ def _where(
226224

227225
datetime_column = self.datetime_column(dt)
228226
if not datetime_column:
229-
raise InvalidDatetimeColumnName(
230-
f"Invalid Datetime Column: {dt}."
231-
)
227+
raise InvalidDatetimeColumnName(f"Invalid Datetime Column: {dt}.")
232228

233-
wheres.append(
234-
self._datetime_filter_to_sql(datetime, datetime_column.name)
235-
)
229+
wheres.append(self._datetime_filter_to_sql(datetime, datetime_column.name))
236230

237231
# `CQL` filter
238232
if cql is not None:
@@ -248,42 +242,28 @@ def _datetime_filter_to_sql(self, interval: List[str], dt_name: str):
248242

249243
else:
250244
start = (
251-
parse_rfc3339(interval[0])
252-
if not interval[0] in ["..", ""]
253-
else None
254-
)
255-
end = (
256-
parse_rfc3339(interval[1])
257-
if not interval[1] in ["..", ""]
258-
else None
245+
parse_rfc3339(interval[0]) if not interval[0] in ["..", ""] else None
259246
)
247+
end = parse_rfc3339(interval[1]) if not interval[1] in ["..", ""] else None
260248

261249
if start is None and end is None:
262250
raise InvalidDatetime(
263251
"Double open-ended datetime intervals are not allowed."
264252
)
265253

266254
if start is not None and end is not None and start > end:
267-
raise InvalidDatetime(
268-
"Start datetime cannot be before end datetime."
269-
)
255+
raise InvalidDatetime("Start datetime cannot be before end datetime.")
270256

271257
if not start:
272-
return logic.V(dt_name) <= logic.S(
273-
pg_funcs.cast(end, "timestamptz")
274-
)
258+
return logic.V(dt_name) <= logic.S(pg_funcs.cast(end, "timestamptz"))
275259

276260
elif not end:
277-
return logic.V(dt_name) >= logic.S(
278-
pg_funcs.cast(start, "timestamptz")
279-
)
261+
return logic.V(dt_name) >= logic.S(pg_funcs.cast(start, "timestamptz"))
280262

281263
else:
282264
return pg_funcs.AND(
283-
logic.V(dt_name)
284-
>= logic.S(pg_funcs.cast(start, "timestamptz")),
285-
logic.V(dt_name)
286-
< logic.S(pg_funcs.cast(end, "timestamptz")),
265+
logic.V(dt_name) >= logic.S(pg_funcs.cast(start, "timestamptz")),
266+
logic.V(dt_name) < logic.S(pg_funcs.cast(end, "timestamptz")),
287267
)
288268

289269
def _features_query(
@@ -362,9 +342,7 @@ async def query(
362342
) -> Tuple[FeatureCollection, int]:
363343
"""Build and run Pg query."""
364344
if geom and geom.lower() != "none" and not self.geometry_column(geom):
365-
raise InvalidGeometryColumnName(
366-
f"Invalid Geometry Column: {geom}."
367-
)
345+
raise InvalidGeometryColumnName(f"Invalid Geometry Column: {geom}.")
368346

369347
sql_query = """
370348
WITH
@@ -482,9 +460,7 @@ async def feature(
482460
def queryables(self) -> Dict:
483461
"""Return the queryables."""
484462
geoms = {
485-
col.name: {
486-
"$ref": geojson_schema.get(col.geometry_type.upper(), "")
487-
}
463+
col.name: {"$ref": geojson_schema.get(col.geometry_type.upper(), "")}
488464
for col in self.geometry_columns
489465
}
490466
props = {

0 commit comments

Comments
 (0)