Shapely: ์ž˜๋ชป๋œ ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ๋กœ shapely.geometry.asShape๋ฅผ ํ˜ธ์ถœ ํ•  ๋•Œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 11์›” 20์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Toblerity/Shapely

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™๊ณผ ์‹ค์ œ ํ–‰๋™.

์ด ์ฝ”๋“œ :

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

์ฒซ์งธ, is_valid ๋Š” False ๋Œ€์‹  True๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ์ด๋ฅผ ํ˜ธ์ถœ ํ•  ๋•Œ ๋‹ค์Œ ๋กœ๊ทธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

IllegalArgumentException: point array must contain 0 or >1 elements

๊ทธ๋Ÿฐ ๋‹ค์Œ wkb๋ฅผ ์š”์ฒญํ•  ๋•Œ ๋‚ด ํŒŒ์ด์ฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ถฉ๋Œํ•˜๋ฉฐ ๋” ๋‚˜์ฉ๋‹ˆ๋‹ค.

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)

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„.

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

์šด์˜ ์ฒด์ œ

Ubuntu Xenial. ํŒŒ์ด์ฌ 3.5.2.

๋งค๋ˆํ•œ ๋ฒ„์ „๊ณผ ์ถœ์ฒ˜

pypi์—์„œ 1.6.2

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”, 1.7.0์œผ๋กœ ์‹œ๋„ํ•˜๊ณ  ์•„๋ฌด๊ฒƒ๋„ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ 1.6.3์œผ๋กœ ๋Œ์•„๊ฐ€๊ณ  ๊ณ ์ • ..... ์Šฌํ”„๋‹ค

๋ชจ๋“  4 ๋Œ“๊ธ€

@pvalsecc ๋ณด๊ณ ์„œ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. https://github.com/Toblerity/Shapely/issues/509 ์™€ ๊ด€๋ จ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค

๋„ค, ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์žˆ์—ˆ๋Š”์ง€์— ์กฐ๊ธˆ ๋†€๋ž์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ • ์‚ฌํ•ญ์€ 1.6.3์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, 1.7.0์œผ๋กœ ์‹œ๋„ํ•˜๊ณ  ์•„๋ฌด๊ฒƒ๋„ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ 1.6.3์œผ๋กœ ๋Œ์•„๊ฐ€๊ณ  ๊ณ ์ • ..... ์Šฌํ”„๋‹ค

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰