Shapely: وثائق: توضيح وثائق STRTree

تم إنشاؤها على ٣٠ يوليو ٢٠١٨  ·  4تعليقات  ·  مصدر: Toblerity/Shapely

أود (قليلاً) تحسين التوثيق الخاص بشجرة STRT.

http://shapely.readthedocs.io/en/stable/manual.html#str -packed-r-tree تقول

يوفر Shapely واجهة لشجرة GEOS R الخاصة بالاستعلام فقط والمعبأة باستخدام خوارزمية Sort-Tile-Recursive. قم بتمرير قائمة كائنات الهندسة إلى مُنشئ STRtree لإنشاء شجرة R يمكنك الاستعلام عنها باستخدام كائن هندسي آخر.

يعرض المثال بعد ذلك استعلامين يقومان بإرجاع كائنات Geometry.

كنت آمل أن أتمكن من استخدام STRTree تمامًا مثل وحدة rtree: تمرير أرقام الفهرس لتتمكن من مطابقة الأشكال الهندسية مع ميزات (Fiona) ولكن يبدو أن هذا ليس هو الحال. تأخذ STRTree ببساطة قائمة كائنات الهندسة وعند الاستعلام ، تُرجع كائنات الهندسة المتقاطعة التي تعرف عنها. لا يوجد أمر أو مؤشرات. هل هذا صحيح؟

إذا كان الأمر كذلك ، فسأضيف جملة واحدة فقط حول ما ترجع إليه طريقة الاستعلام. بالنسبة إلى أوصاف الفئات (مثل النقطة) ، يتم تقديم السمات في النثر ، ولكن إذا كان يجب أن يحصل هذا على إدخال جديد .. method:: ، فقط قل ذلك. :)

documentation

التعليق الأكثر فائدة

ال 4 كومينتر

@ Kannes ، نحن لسنا مرنين الآن بشأن ما يتم تخزينه ، لكننا نقوم بتخزين كائن الهندسة بالإضافة إلى جميع سماته. يمكنك إضافة سمات إلى كائن هندسي بعد إنشائه لأن هذه الكائنات الهندسية تخزن سماتها في عضو __dict__ (تتم قراءة geom.myattr كـ geom.__dict__['myattr'] ). لن نغير سلوك Shapely هذا في أي وقت قريب ، لذا يجب أن تعمل الكود التالي على الأقل حتى الإصدار الافتراضي Shapely 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.

شكرا ، سوف أقوم بتحديث هذا

فعله!

[تحرير: إزالة ثمل git mess]

سيكون التمثيل الرسومي للمثال الهندسي وهندسة الاستعلام أمرًا رائعًا لإظهار كيفية إرجاع الأشكال الهندسية التي تتقاطع نطاقاتها.

لست متأكدًا مما إذا كان ينبغي علي اقتراح استخدام النسخ العميق لتجنب تحوير الكائنات الأصلية.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات