小编Mic*_*huk的帖子

简单的 PostGIS XYZ 设置?

我是 PostGIS 的新手。我希望在一个简单的 XYZ 图上有一个简单的有界(-200 < x, y, z < 200)数据集,包含 1,000,000 个点。我需要的唯一查询是快速的 K 最近邻居和所有邻居,使得距离小于 < N。似乎 PostGIS 有很多我不需要的额外功能。

  • 我需要什么 SRID?一种与英尺或米无关的。
  • 我是否需要使用函数 ST_3DDistance 来查询具有 LIMIT K 的 K 个最近邻?或最大距离为 N。
  • 要添加一列,我需要使用SELECT AddGeometryColumn ('my_schema','my_spatial_table','geom_c',4326,'POINT',3, false);. 那是对的吗?
    • 3D 点和 PointZ 有什么区别?
    • AddGeometryColumn 会确保我的距离查询很快吗?
  • PostGIS 是我用例的正确选择吗?我的数据库的其余部分已经与 PostgreSQL 集成

谢谢!

postgresql postgis

3
推荐指数
1
解决办法
808
查看次数

如何在Python 3.7中重新实现Python的__qualname__?(有一些小的调整)

__qualname__属性对我很有用,因为它使函数具有上下文关系;但是,我很难将其用于我的用例,因为:

  1. __qualname__返回一个字符串。对于我的用例,我需要引用父对象。

  2. __qualname__有时返回super类而不是引用的类。例如:

    class Parent():
    
        def __init__(self):
            pass
    
    
    class Child(Parent):
        pass
    
    
    print(Child.__init__.__qualname__)  # Prints: "Parent.__init__"
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我正在开发的包需要足够强大,据我所知,边缘情况__qualname__没有记录。

除了使用 解析Python 文件之外ast,还可以__qualname__通过检查在Python3 中重新实现吗?Python是如何实现的__qualname__?在重新实现核心功能时,我认为我将能够根据我的用例进行调整。


先前的研究:

我无法在 Python 源代码中找到 qualname 实现。

python introspection python-3.x

3
推荐指数
1
解决办法
735
查看次数

欧几里得空间中完整二分匹配的最小成本流优化

要点是......我们有两组点AB。集合AB具有相同数量的点n

正式问题:

在AB中的点之间构造最小成本完全二分匹配。匹配(a, b)的成本是距离(a, b)是否存在比O(n^3)更快的算法?

笔记:

  • A中的每个点aB中的点b都在匹配(a, b)中。
  • AB中的每个点a都恰好在一次匹配中。
  • sum( 每个(a,b)匹配的距离(a,b)被最小化。

例子:

  • a 点 (0,0)
  • b 点 (2,0)
  • c 点 (0,1)
  • 点 d (-2,2)
  • 设 Z {a, d}
  • 设 Y {b, c}

解决方案:

匹配1:(a,b)(d,c)

sum (距离(a, b),距离(d, c)) …

algorithm matching bipartite euclidean-distance network-flow

2
推荐指数
1
解决办法
952
查看次数