ArcGIS加权怎么确定权重
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArcGIS加权怎么确定权重相关的知识,希望对你有一定的参考价值。
参考技术A gis计算权重的方法是:1、对每一个用到的数据图层,添加属性(如渗透系数层加个字段“stxs”,并在该字段下加入等级属性,然后再添加一个字段“stxsfs”并加入分数);
2、对所有用到的图层进行叠加union(两两叠加),这样最后叠加得到的图层中就包含了所有有用的数据;
3、在最后得到的图层中加入一个字段,左键选中这一列,右键点击这一列的列名,选择calculator,在弹出的对话框中输入计算公式就可以了。
在无向加权图中找到所有循环权重的有效算法
【中文标题】在无向加权图中找到所有循环权重的有效算法【英文标题】:Efficient algorithm to find weights of all cycles in an undirected weighted graph 【发布时间】:2017-09-02 09:44:40 【问题描述】:我的目标是在加权无向图中找到所有循环及其各自的权重。循环的权重定义为构成循环的路径的权重之和。我的预设算法执行以下操作:
dfs(int start, int now,int val)
if(visited[now])
return;
if(now==start)
v.push_back(val);// v is the vector of all weights
return;
dfs through all nodes neighbouring to now;
我从每个起点呼叫dfs()
:
for(int i=0;i<V;++i)
initialise visited[];
for(int j=0;j<adj[i].size();++j)// adj is the adjacency matrix
dfs(i,adj[i][j].first,adj[i][j].second);
// adj is a vector of vector of pairs
// The first element of the pair is the neighbour index and the second element is the weight
所以这个算法的整体复杂度是O(V*E)
(我想是的)。任何人都可以提出更好的方法吗?
【问题讨论】:
在图完整的特定情况下,任何节点序列都构成一个循环。因此(如果我正确理解了要求),一个好的算法似乎不可能在最坏的情况下不需要指数复杂度。 正如查询人所说,可能有指数数量的周期。你真的需要每一个重量(那么除了指数级的结果之外别无他法),或者可能只是最小、最大或类似的东西? 看这里***.com/questions/12367801/… @deviantfan 确切地说,我需要知道任何重量是否是奇数。但它不需要计算所有的权重吗? (重量 == 一个周期的重量) @yobro97 不,它不需要。我正在写一个答案... 【参考方案1】:由于不是每个人都以相同的方式定义它,我假设......
权重在边上,而不是顶点上 循环中唯一被访问多次的顶点是开始/结束顶点 单个顶点,或两个相连的顶点,都不是环,即。它至少需要三个顶点 在图中的两个顶点之间,不能有超过一条边(没有“多重图”)以下步骤可以确定是否(至少)存在一个奇数加权循环:
删除所有只有 0 或 1 条连接边的顶点(不是必需的,但使用它可能会更快)。 通过插入一个新顶点来分割每个偶数加权边(只有它们,而不是奇数加权边!)。例如。如果顶点 A 和 B 之间的 egde 的权重为 4,它应该变为 A-Z 2 和 Z-B 2,或 A-Z 3 和 Z-B 1,或类似的东西。 实际重量分布并不重要,你甚至不需要保存它。因为,从这一步开始,所有的权重都不再需要了。 这实际上做了什么?认为每个奇数权重都是 1,每个偶数权重都是 2。(如果存在奇数权重循环,这不会改变:如果 3+4+8 是奇数,那么 1+2+2 也是)。现在您将所有 2 分成两个 1。由于现在唯一存在的权重是 1,因此确定总和是否为奇数与确定边“计数”是否为奇数相同。 现在,检查二分性 / 2coloring: 您可以在此处使用修改后的 DFS 顶点可以是未知的、0 或 1。开始时,将 0 分配给单个顶点,所有其他顶点都是未知的。 0 顶点的未知邻居总是得到 1,而 1 顶点的未知邻居总是得到 0。 在检查顶点的邻居是否已被访问时,还要检查数量是否与您现在正在处理的顶点不同。 如果没有,你刚刚发现你的图有奇数加权循环,你可以停止一切。 如果您在 DFS 结束时没有发现,则不存在奇数加权循环。 对于实施,请注意,您可能会在仍有未访问的顶点时到达 DFS 的“结束”,即如果您有一个断开连接的图。如果是这样,您需要将剩余顶点之一设置为已知数 (0),然后从那里继续 DFS。复杂性O(V + E)
(这一次是真的,而不是指数级的事情或不起作用的解决方案)。
【讨论】:
以上是关于ArcGIS加权怎么确定权重的主要内容,如果未能解决你的问题,请参考以下文章
Sklearn k-means聚类(加权),确定每个特征的最佳样本权重?
我目前有四幅图,都是栅格图。每幅图都有自己的权重值,我想把这四幅图用GIS做加权叠加