Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion digital_land/datatype/wkt.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import shapely.wkt
from shapely import set_precision
import json
import time
import logging
from shapely.geometry import shape, Point
from shapely.errors import WKTReadingError
Expand Down Expand Up @@ -169,10 +170,12 @@ def make_multipolygon(geometry):
raise ValueError(f"unexpected geometry {geometry.geom_type}")


def normalise_geometry(geometry, simplification=0.000005):
def normalise_geometry(geometry, simplification=0.000001):
if geometry.geom_type in ["Point", "Line", "MultiLineString"]:
return geometry, None

_start = time.time()

# see https://gist.github.com/psd/0189bc66fd46e00a82df2acbc7e35c8a
# don't want to simplify if it takes a valid shape and makes it invalid
simplification = geometry.simplify(simplification)
Expand Down Expand Up @@ -213,6 +216,7 @@ def normalise_geometry(geometry, simplification=0.000005):
polygons.append(orient(geom))
geometry = MultiPolygon(polygons)

logging.info(f"normalise_geometry took {time.time() - _start:.3f}s")
return geometry, issue


Expand Down
Loading