Shapely: docs: Klarifikasi dokumentasi STRTree

Dibuat pada 30 Jul 2018  ·  4Komentar  ·  Sumber: Toblerity/Shapely

Saya ingin (sedikit) meningkatkan dokumentasi untuk STRtree.

http://shapely.readthedocs.io/en/stable/manual.html#str -packed-r-tree mengatakan

Shapely menyediakan antarmuka ke GEOS R-tree khusus kueri yang dikemas menggunakan algoritma Sort-Tile-Recursive. Berikan daftar objek geometri ke konstruktor STRtree untuk membuat R-tree yang dapat Anda kueri dengan objek geometris lain.

Contoh kemudian menunjukkan dua kueri yang mengembalikan objek Geometri.

Saya berharap saya bisa menggunakan STRTree seperti modul rtree: meneruskan nomor indeks untuk dapat mencocokkan geometri dengan fitur (Fiona), tetapi sepertinya tidak demikian. STRTree hanya mengambil daftar objek Geometri dan pada kueri, mengembalikan objek Geometri berpotongan yang diketahuinya. Tidak ada pesanan atau indeks. Apakah itu benar?

Jika demikian, saya hanya akan menambahkan satu kalimat tentang apa yang dikembalikan oleh metode kueri. Untuk deskripsi kelas (misalnya Titik) atribut disajikan dalam bentuk prosa, tetapi jika ini harus mendapatkan entri .. method:: baru, katakan saja. :)

documentation

Komentar yang paling membantu

https://github.com/Toblerity/Shapely/pull/623 terima kasih kepada @nathanw QGIS

Semua 4 komentar

@kannes kami tidak fleksibel sekarang tentang apa yang disimpan, tetapi kami menyimpan objek geometri serta semua atributnya. Anda dapat menambahkan atribut ke objek geometri setelah dibuat karena objek geometri ini menyimpan atributnya di anggota __dict__ ( geom.myattr dibaca sebagai geom.__dict__['myattr'] ). Kami tidak akan mengubah perilaku Shapely ini dalam waktu dekat, jadi kode berikut harus berfungsi setidaknya hingga Shapely 2.0 hipotetis:

>>> 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'

Ada beberapa diskusi terkait di #615.

Terima kasih, saya akan memperbarui ini

Selesai!

[edit: menghapus kekacauan git yang kacau]

Representasi grafis dari contoh geometri dan geometri kueri akan sangat bagus untuk menunjukkan lebih lanjut bagaimana ia mengembalikan geometri yang luasnya berpotongan.

Tidak yakin apakah saya harus menyarankan menggunakan deepcopy untuk menghindari mutasi objek asli.

https://github.com/Toblerity/Shapely/pull/623 terima kasih kepada @nathanw QGIS

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

LostFan123 picture LostFan123  ·  3Komentar

jrobichaud picture jrobichaud  ·  3Komentar

mikedh picture mikedh  ·  6Komentar

doctor-ian picture doctor-ian  ·  4Komentar

mromanie picture mromanie  ·  3Komentar