Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sqlalchemy.exc.InternalError: (psycopg2.InternalError) Error performing intersection: TopologyException #414

Open
nicolasmaia opened this issue Nov 18, 2018 · 0 comments

Comments

@nicolasmaia
Copy link

URL: https://osm.wikidata.link/matcher/relation/2177266

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3/dist-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3/dist-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/flask/_compat.py", line 35, in reraise
raise value
File "/usr/lib/python3/dist-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3/dist-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functionsrule.endpoint
File "/srv/osm-wikidata/matcher/matcher_view.py", line 76, in matcher_progress
start=start)
File "/usr/lib/python3/dist-packages/flask/templating.py", line 135, in render_template
context, ctx.app)
File "/usr/lib/python3/dist-packages/flask/templating.py", line 117, in _render
rv = template.render(context)
File "/usr/lib/python3/dist-packages/jinja2/asyncsupport.py", line 76, in render
return original_render(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/srv/osm-wikidata/matcher/templates/matcher.html", line 94, in top-level template code
var chunk_geojson = [{{ place.geojson_chunks() | join(',') | safe }}];
File "/srv/osm-wikidata/matcher/place.py", line 1113, in geojson_chunks
.filter(Place.place_id == self.place_id)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 2877, in scalar
ret = self.one()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 2848, in one
ret = self.one_or_none()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 2818, in one_or_none
ret = list(self)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 2889, in iter
return self._execute_and_instances(context)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 2912, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/usr/lib/python3/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.InternalError: (psycopg2.InternalError) Error performing intersection: TopologyException: Input geom 0 is invalid: Self-intersection at or near point 829338.10210987204 8939016.3717039786 at 829338.10210987204 8939016.3717039786
[SQL: 'SELECT ST_AsGeoJSON(ST_Intersection(place.geom, ST_MakeEnvelope(%(ST_MakeEnvelope_1)s, %(ST_MakeEnvelope_2)s, %(ST_MakeEnvelope_3)s, %(ST_MakeEnvelope_4)s, %(ST_MakeEnvelope_5)s)), %(ST_AsGeoJSON_2)s) AS "ST_AsGeoJSON_1" \nFROM place \nWHERE place.place_id = %(place_id_1)s'] [parameters: {'ST_MakeEnvelope_1': -180.0, 'ST_MakeEnvelope_2': -9.5851607, 'ST_MakeEnvelope_3': -179.92575, 'ST_MakeEnvelope_4': -9.2281701, 'ST_MakeEnvelope_5': 4326, 'ST_AsGeoJSON_2': 4, 'place_id_1': 198627895}] (Background on this error at: http://sqlalche.me/e/2j85)

@nicolasmaia nicolasmaia changed the title sqlalchemy.exc.InternalError: (psycopg2.InternalError) Error performing intersection: TopologyException: Input geom 0 is invalid: Self-intersection at or near point 829338.10210987204 8939016.3717039786 at 829338.10210987204 8939016.3717039786 [SQL: 'SELECT ST_AsGeoJSON(ST_Intersection(place.geom, ST_MakeEnvelope(%(ST_MakeEnvelope_1)s, %(ST_MakeEnvelope_2)s, %(ST_MakeEnvelope_3)s, %(ST_MakeEnvelope_4)s, %(ST_MakeEnvelope_5)s)), %(ST_AsGeoJSON_2)s) AS "ST_AsGeoJSON_1" \nFROM place \nWHERE place.place_id = %(place_id_1)s'] [parameters: {'ST_MakeEnvelope_1': -180.0, 'ST_MakeEnvelope_2': -9.5851607, 'ST_MakeEnvelope_3': -179.92575, 'ST_MakeEnvelope_4': -9.2281701, 'ST_MakeEnvelope_5': 4326, 'ST_AsGeoJSON_2': 4, 'place_id_1': 198627895}] (Background on this error at: http://sqlalche.me/e/2j85) sqlalchemy.exc.InternalError: (psycopg2.InternalError) Error performing intersection: TopologyException Nov 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant