Shapely: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝: рдПрд╕рдЯреАрдЖрд░рдЯреНрд░реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЬреБрд▓ре░ 2018  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Toblerity/Shapely

рдореИрдВ рдПрд╕рдЯреАрдЖрд░рдЯреА рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ (рдереЛрдбрд╝рд╛) рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

http://shapely.readthedocs.io/en/stable/manual.html#str -packed-r-tree рдХрд╣рддреЗ рд╣реИрдВ

рд╢реЗрдкрд▓реА рд╕реЙрд░реНрдЯ-рдЯрд╛рдЗрд▓-рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрдХ рдХрд┐рдП рдЧрдП рдХреНрд╡реЗрд░реА-рдУрдирд▓реА GEOS R-tree рдХреЛ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЖрд░-рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП STRtree рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдЬреНрдпрд╛рдорд┐рддрд┐ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдкрд╛рд╕ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдЬреНрдпрд╛рдорд┐рддреАрдп рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рддрдм рджреЛ рдкреНрд░рд╢реНрди рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдЬреНрдпрд╛рдорд┐рддрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред

рдореИрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЖрд░рдЯреАрдЖрд░рдИ рдореЙрдбреНрдпреВрд▓ рдХреА рддрд░рд╣ рдПрд╕рдЯреАрдЖрд░рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ: рдЗрдВрдбреЗрдХреНрд╕ рдирдВрдмрд░ рдкрд╛рд╕ рдХрд░рдирд╛ рддрд╛рдХрд┐ рдЬреНрдпрд╛рдорд┐рддрд┐ (рдлрд┐рдпреЛрдирд╛) рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред STRTree рдмрд╕ рдЬреНрдпреЛрдореЗрдЯреНрд░реА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдХреНрд╡реЗрд░реА рдкрд░, рдЗрдВрдЯрд░рд╕реЗрдХреНрдЯрд┐рдВрдЧ рдЬреНрдпреЛрдореЗрдЯреНрд░реА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИред рдХреЛрдИ рдЖрджреЗрд╢ рдпрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рд╡реЛ рд╕рд╣реА рд╣реИ?

рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╡рд╛рдХреНрдп рдЬреЛрдбрд╝реВрдВрдЧрд╛ рдХрд┐ рдХреНрд╡реЗрд░реА рд╡рд┐рдзрд┐ рдХреНрдпрд╛ рд▓реМрдЯрд╛рддреА рд╣реИред рд╡рд░реНрдЧ рд╡рд┐рд╡рд░рдг (рдЬреИрд╕реЗ рдмрд┐рдВрджреБ) рдХреЗ рд▓рд┐рдП рдЧреБрдг рдЧрджреНрдп рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЗрд╕реЗ рдПрдХ рдирдИ .. method:: рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП, рддреЛ рдмрд╕ рдРрд╕рд╛ рдХрд╣реЗрдВред :)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

https://github.com/Toblerity/Shapely/pull/623 QGIS рдХреЗ @nathanw . рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@kannes рдЬреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдЕрднреА рд▓рдЪреАрд▓реЗ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЬреНрдпрд╛рдорд┐рддрд┐ рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЗрд╕рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдПрдХ рдЬреНрдпрд╛рдорд┐рддрд┐ рд╡рд╕реНрддреБ рдХреЗ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рдЙрд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдЬреНрдпрд╛рдорд┐рддрд┐ рд╡рд╕реНрддреБрдПрдБ рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ __dict__ рд╕рджрд╕реНрдп ( geom.myattr рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ geom.__dict__['myattr'] ) рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИрдВред рд╣рдо рдЬрд▓реНрдж рд╣реА рд╢реЗрдкрд▓реА рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╢реЗрдкрд▓реА 2.0 рддрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

>>> from shapely.strtree import STRtree
>>> from shapely.geometry import Point
>>> pt = Point(0.0, 0.0)
>>> pt.name = 'foo'
>>> tree = STRtree([pt])
>>> tree.query(Point(1.0, 1.0).buffer(2.0))
[<shapely.geometry.point.Point object at 0x109254208>]
>>> results = tree.query(Point(1.0, 1.0).buffer(2.0))
>>> respt = results[0]
>>> respt
<shapely.geometry.point.Point object at 0x109254208>
>>> respt.name
'foo'

#615 рдореЗрдВ рдХреБрдЫ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░реНрдЪрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛

рдХрд┐рдпрд╛ рд╣реБрдЖ!

[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЧрд┐рдЯ рдореЗрд╕ рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛]

рдЙрджрд╛рд╣рд░рдг рдЬреНрдпрд╛рдорд┐рддрд┐ рдФрд░ рдХреНрд╡реЗрд░реА рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдПрдХ рдЪрд┐рддреНрд░рдордп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЖрдЧреЗ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдЙрди рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рдХреИрд╕реЗ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдХрд░рддреЗ рд╣реИрдВред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдореВрд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдкрдХреЙрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

https://github.com/Toblerity/Shapely/pull/623 QGIS рдХреЗ @nathanw . рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

pvalsecc picture pvalsecc  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

LostFan123 picture LostFan123  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

chivasblue picture chivasblue  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MarkWieczorek picture MarkWieczorek  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ispmarin picture ispmarin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ