span8
span4
好吧,我接受了你的建议。我是这样做的:
每次更改或更新道路网络时,都会运行相同的过程,这将使新的不匹配的节点合并到节点源中。我得到了一些奇怪的结果,在一些地方,似乎有道路路段在一起,但正在创建多个节点。我怀疑,即使它们看起来被折断了,它们也会因为产生额外节点的最小数量而被折断。
还不知道怎么清理。
嗯,我也是这么想的。另一种方法可能是为所有当前节点创建初始GUID,并将它们放到db中,并从源道路网络shp文件中取出。添加的任何新表都可以附加到同一个表中。问题是,如何防止新的GUID使用已经存在的数字?我首先需要将所有节点加载到数据库表中,然后使用数据库表与更新后的道路网络shp文件的更改检测器进行比较。
此外,如果我使用一个道路网络来创建节点,那么无论我如何做,这些节点都将始终从道路网络源中重新创建,因此总是会创建新节点,因为它们不在原始源中。我希望这是有意义的。
至少我是这么想的,但我不确定。
这并不简单。我相信我们不是唯一两个要做这种事的人。
嗨
根据您的数据和需求,这可能是一个很大的任务。如果您的需求很简单,我建议在节点上生成GUID标识符(UUIDGenerator),然后使用e.g.。Matcher或ChangeDetector将现有数据集与更新的数据集进行比较。
如果源数据有一个稳定的标识符,在每次更新时都保持不变,那么在工作空间(Group By)中跟踪更新应该相对简单。如果您只需要依赖于几何图形来进行更改检测,那么您可能需要做很多工作来尝试根据部分操作的几何图形来猜测关系。
我以前也做过类似的工作,但不幸的是,我不能分享任何东西,只需说对于那些用例来说,它最终是一个相当大的工作量。
大卫
©2019安全亚搏在线软件公司法律