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

Падает если в слое есть неверные координаты #207

Open
drnextgis opened this issue Jul 18, 2014 · 1 comment
Labels

Comments

@drnextgis
Copy link
Member

ERROR:waitress:Exception when serving /resource/71/wfs
Traceback (most recent call last):
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/waitress/channel.py", line 337, in service
    task.service()
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/waitress/task.py", line 173, in service
    self.execute()
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/waitress/task.py", line 392, in execute
    app_iter = self.channel.server.application(env, start_response)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/pyramid/router.py", line 242, in __call__
    response = self.invoke_subrequest(request, use_tweens=True)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/pyramid/router.py", line 217, in invoke_subrequest
    response = handle_request(request)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/pyramid/tweens.py", line 21, in excview_tween
    response = handler(request)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/pyramid_tm/__init__.py", line 82, in tm_tween
    reraise(*exc_info)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/pyramid_tm/__init__.py", line 63, in tm_tween
    response = handler(request)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/pyramid/router.py", line 163, in handle_request
    response = view_callable(context, request)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/pyramid/config/views.py", line 385, in viewresult_to_response
    result = view(context, request)
  File "/home/rykov/git/ngw2/nextgisweb/nextgisweb/wfsserver/view.py", line 51, in handler
    path_info='/'+sourcenames, params=params)
  File "/home/rykov/git/ngw2/nextgisweb/nextgisweb/wfsserver/third_party/FeatureServer/Server.py", line 92, in dispatchRequest
    result = method(action)
  File "/home/rykov/git/ngw2/nextgisweb/nextgisweb/wfsserver/nextgis_to_fs.py", line 43, in select
    for row in result:
  File "/home/rykov/git/ngw2/nextgisweb/nextgisweb/postgis/model.py", line 431, in __iter__
    for row in conn.execute(query):
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 662, in execute
    params)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 761, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 874, in _execute_context
    context)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1024, in _handle_dbapi_exception
    exc_info
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 196, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 867, in _execute_context
    context)
  File "/home/rykov/git/ngw2/env/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 324, in do_execute
    cursor.execute(statement, parameters)
InternalError: (InternalError) transform: couldn't project point (3540.3 5415.78 0): latitude or longitude exceeded limits (-14)
 'SELECT ogc_fid AS id, st_astext(st_transform(wkb_geometry, %(st_transform_1)s)) AS geom, uniq_uid AS f1, obj_type AS f2 \nFROM "thematic"."sensors_video" \nWHERE geometrytype(wkb_geometry) IN (%(geometrytype_1)s, %(geometrytype_2)s) ORDER BY ogc_fid' {'geometrytype_2': u'MULTIPOINT', 'geometrytype_1': u'POINT', 'st_transform_1': 3857}
@KolesovDmitry
Copy link
Contributor

Как воспроизвести проблему:

  1. Создать в Postgis таблицу, часть геометрий которой содержит неверные координаты. На пример, вставить в таблицу системы координат EPSG:4326 точку, координаты которой превышают 360 градусов:INSERT INTO ... (geom) VALUES (St_GeomFromTEXT('POINT(3540.3 5415.78 0)', 4326));
  2. Создать в NGW слой PostGIS, ссылающийся на эту таблицу.
  3. Обратиться к геометрии таблицы через NGW, например, через ссылку "Даные GeoJSON". В результате возникнет ошибка перепроецирования
InternalError: (InternalError) transform: couldn't project point (3540.3 5415.78 0): latitude or longitude exceeded limits (-14)
 'SELECT gid AS id, st_astext(st_transform(geom, %(st_transform_1)s)) AS geom, building AS f1, a_strt AS f2, a_sbrb AS f3, a_hsnmbr AS f4, b_levels AS f5, name AS f6 \nFROM "public"."building-point" \nWHERE geometrytype(geom) IN (%(geometrytype_1)s, %(geometrytype_2)s) ORDER BY gid' {'geometrytype_2': u'MULTIPOINT', 'geometrytype_1': u'POINT', 'st_transform_1': 3857}

Таким образом, ошибку подтверждаю. Но она никак не связана с WFS, поэтому снимаю метку WFS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants