Shapely: Absturz beim Aufruf von shapeely.geometry.asShape mit ungültiger Geometrie

Erstellt am 20. Nov. 2017  ·  4Kommentare  ·  Quelle: Toblerity/Shapely

Erwartetes Verhalten und tatsächliches Verhalten.

Dieser Code:

import shapely.geometry
x = shapely.geometry.asShape({'coordinates': [[1130.0, 1110.0]], 'type': 'LineString'})
assert x.is_valid
x.wkb

Erstens gibt is_valid True anstelle von False zurück, und ich sehe dieses Protokoll, wenn ich es aufrufe:

IllegalArgumentException: point array must contain 0 or >1 elements

Wenn ich dann nach dem wkb frage, stürzt mein Python-Prozess ab, was noch schlimmer ist:

python3.5: geos_ts_c.cpp:5240: unsigned char* GEOSWKBWriter_write_r(GEOSContextHandle_t, geos::io::WKBWriter*, const geos::geom::Geometry*, std::size_t*): Assertion `0 != geom' failed.
Aborted (core dumped)

Schritte zum Reproduzieren des Problems.

import shapely.geometry
x = shapely.geometry.asShape({'coordinates': ((1130.0, 1110.0),), 'type': 'LineString'})
assert not x.is_valid
x.wkb

Betriebssystem

Ubuntu Xenial. Python 3.5.2.

Formschöne Version und Herkunft

1.6.2 von pypi

bug

Hilfreichster Kommentar

Hallo, ich versuche es mit 1.7.0 und nichts. dann kehre zu 1.6.3 zurück und es ist behoben ..... es ist traurig

Alle 4 Kommentare

Danke für den Bericht @pvalsecc. Sieht so aus, als ob es mit https://github.com/Toblerity/Shapely/issues/509 zusammenhängt.

Ja, in der Tat. Ich bin allerdings ein bisschen überrascht, wie lange es schon gibt.

Behoben. Das Update wird in 1.6.3 sein.

Hallo, ich versuche es mit 1.7.0 und nichts. dann kehre zu 1.6.3 zurück und es ist behoben ..... es ist traurig

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen