zoukankan      html  css  js  c++  java
  • pyqtree

    pyqtree module

    API Documentation

    Classes

    class Index

    The top spatial index to be created by the user. Once created it can be populated with geographically placed members that can later be tested for intersection with a user inputted geographic bounding box. Note that the index can be iterated through in a for-statement, which loops through all all the quad instances and lets you access their properties.

     

    Ancestors (in MRO)

    • Index
    • pyqtree._QuadTree

    Methods

    def __init__(

    self, bbox, maxitems=10, maxdepth=20)

    Parameters:

    • bbox: The coordinate system bounding box of the area that the quadtree should keep track of, as a 4-length sequence (xmin,ymin,xmax,ymax)
    • maxmembers (optional): The maximum number of items allowed per quad before splitting up into four new subquads. Default is 10.
    • maxdepth (optional): The maximum levels of nested subquads, after which no more splitting occurs and the bottommost quad nodes may grow indefinately. Default is 20.
     

    def countmembers(

    self)

    Returns:

    • A count of the total number of members/items/nodes inserted into this quadtree and all of its child trees.
     

    def insert(

    self, item, bbox)

    Inserts an item into the quadtree along with its bounding box.

    Parameters:

    • item: The item to insert into the index, which will be returned by the intersection method
    • bbox: The spatial bounding box tuple of the item, with four members (xmin,ymin,xmax,ymax)
     

    def intersect(

    self, bbox)

    Intersects an input boundingbox rectangle with all of the items contained in the quadtree.

    Parameters:

    • bbox: A spatial bounding box tuple with four members (xmin,ymin,xmax,ymax)

    Returns:

    • A list of inserted items whose bounding boxes intersect with the input rectangle.

    Here are the examples of the python api pyqtree.Index taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

    2 Examples

    Example 1

    Project: joerd 
    Source File: index.py
    View license
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    def create(index_file, bbox, parse_fn, *parse_args):
        logger = logging.getLogger("index")
        idx = pyqtree.Index(bbox=bbox)
        n = 0
     
        with open(index_file, 'r') as f:
            files = yaml.load(f)
            for f in files:
                t = parse_fn(f, *parse_args)
                if t:
                    idx.insert(bbox=t.bbox.bounds, item=t)
                    n += 1
     
        logger.info("Created index with %d objects." % n)
        return idx

    Example 2

    Project: gtfslib-python 
    Source File: spatial.py
    View license
    1
    2
    3
    4
    5
    6
    7
    def __init__(self, D0):
        self._D0 = 1. * D0
        bbox = (-180, -90, 180, 90)
        self._spidx = pyqtree.Index(bbox)
        self._points = []
        self._clusters_by_item = None
        self._clusters = None
  • 相关阅读:
    关于 platform的文章
    S3C2440驱动篇—Linux平台设备驱动
    class_create(),class_device_create()或device_create()自动创建设备文件结点
    耳机接线图
    GNOME图形界面
    ssh登录过程中 出现 unsupport gssapiauthentication及pscp传输文件出现 ssh_init: Network error: Cannot assign requested address错误
    du和df 的使用及区别
    bash中的set指令使用说明
    qemuimg dd使用
    linux lvm卷的总结,在proxmox 5下测试验证
  • 原文地址:https://www.cnblogs.com/ExMan/p/10407643.html
Copyright © 2011-2022 走看看