当前位置: 首页 > news >正文

那些网站用不着做优化怎么样做免费的百度seo

那些网站用不着做优化,怎么样做免费的百度seo,网站建设业务员培训,创意设计产业包括哪些一、最简单的获取图层方式 通常情况下,如果要获取当前地图中的图层,可以用2种方法获取。 以下图为例: 一种是【map.Layers】属性获取,结果如下: 可以看出,这里只获取到了第一层级的图层,图层组…

一、最简单的获取图层方式

通常情况下,如果要获取当前地图中的图层,可以用2种方法获取。

以下图为例:

一种是【map.Layers】属性获取,结果如下:

可以看出,这里只获取到了第一层级的图层,图层组下面的二级图层被忽略了,显然这不是我们想要的。

另一种是通过map.GetLayersAsFlattenedList()方法获取,结果如下:

这次的结果,不管是第一层级还是第二层级的图层都得到了。

但美中不足的是,图层的结构被打散了,比如说【FW】图层,实际是【新建图层组】下的图层,正确的表达为【新建图层组\FW】。

为什么说这才是正确的表达,如果你用过GP工具就会发现,输入数据是图层的话,只有【新建图层组\FW】这种表达方式才是正确的,如果输入的是【FW】,将是无效的输入。

那边,下一步要做的就是获取图层完整的路径结构。


二、获取图层完整的路径结构

由于SDK没有提供获取图层完整路径结构的接口,那么这个事情就只能自己动手了。

思路其实也不难,就是通过获取图层的父图层,然后把父图层的名字加到结果中就行了,直到父图层是地图为止。

代码如下:

// 获取图层的完整名称
public static List<object> GetLayerFullName(this Object layer, Map map, string lyName)
{List<object> result = new List<object>();// 如果是图层if (layer is Layer){// 如果父对象是Map,直接返回图层名if (((Layer)layer).Parent is Map){result.Add(layer);result.Add(lyName);return result;}else{// 如果父对象是不是Map,则找到父对象图层,并循环查找上一个层级Layer paLayer = (Layer)((Layer)layer).Parent;List<object> list = paLayer.GetLayerFullName(map, @$"{paLayer}\{lyName}");return list;}}// 如果是独立表else if (layer is StandaloneTable){// 如果父对象是Map,直接返回图层名if (((StandaloneTable)layer).Parent is Map){result.Add(layer);result.Add(lyName);return result;}else{// 如果父对象是不是Map,则找到父对象图层,并循环查找上一个层级Layer paLayer = (Layer)((StandaloneTable)layer).Parent;List<object> list = paLayer.GetLayerFullName(map, @$"{paLayer}\{lyName}");return list;}}else{return null;}
}

这里先把图层组排除,只考虑一般图层的情况,获取的图层列表如下:

OK,正是想要的结果。

但是,其实这还并不完美,因为这里没有考虑到更复杂的情况,比如说同名图层。稍微调整一下:

再试一下上面的方法,导出结果为:

可以看到,同名图层都被列入列表,但是名称都一样。如果这时候将其作为输入数据,系统就无法认出到底该用哪一个,就只会将第一个作为输入数据,这显然也不是我们想要的。

于是我们要做的是,给这些同名图组作一个标记,作为输入数据的标识。


三、标识同名图层

在我们获取到图层列表后,就可以对列表进行处理。

这里用到的方法是,新建一个字典,用来记录列表中每条记录的出现次数,然后按出现的先后用数字后缀给它标记。

然后再找出只有一个记录,也就是没有同名的图层,把它的【1】的标记去掉就可以了。

代码如下:

// 对重复要素进行数字标记
public static List<string> AddNumbersToDuplicates(this List<string> stringList)
{// 使用Dictionary来跟踪每个字符串的出现次数Dictionary<string, int> stringCount = new Dictionary<string, int>();// 遍历字符串列表for (int i = 0; i < stringList.Count; i++){string currentString = stringList[i];// 检查字符串是否已经在Dictionary中存在if (stringCount.ContainsKey(currentString)){// 获取该字符串的出现次数int count = stringCount[currentString];// 在当前字符串后添加数字stringList[i] = $"{currentString}:{count + 1}";// 更新Dictionary中的计数stringCount[currentString] = count + 1;}else{// 如果字符串在Dictionary中不存在,将其添加,并将计数设置为1stringCount.Add(currentString, 1);// 在当前字符串后添加数字stringList[i] = $"{currentString}:{1}";}}// 去除单个要素的数字标记foreach (var item in stringCount){if (item.Value == 1){for (int i = 0; i < stringList.Count; i++){if (stringList[i] == item.Key + ":1"){stringList[i] = item.Key;}}}}// 返回字符串列表return stringList;
}

运行后结果如下:

可以看到,同名图层的后面加上了数字标记,OK,大功造成。

.......并没有。

虽然标记出来了,但是如果在使用GP工具的时候,输入的是【规划用地:1】这样的字符串,也是无效的。

这时候就要转换一下思路了,GP工具输入的不仅可以是字符串,也可以是图层。因此我们要做的是将上面的字符串还原成图层。


四、将图层名字符串还原成图层

首先解释下为什么要这么麻烦,先获取图层名,再还原成图层,进行GP运算,直接将获取的图层作为输入数据不行吗?

这是因为在工具中,经常需要用户手动选择图层,而真正执行的流程是在按下执行键后才进行的,并不在同一个进程中。 

现在的问题是怎么让上面获取到的图层名和它的实际图层一一对应上。

很简单,再来一遍查找图层就行了, 不过这次,我们不仅要获取完整图名,同时也要获取它的原始图层。

这里用一个字典来收集。代码如下:

// 获取地图中的所有要素图层【带图层结构】【字典】
public static Dictionary<FeatureLayer, string> AllFeatureLayersDic(this Map map)
{Dictionary<FeatureLayer, string> dic = new Dictionary<FeatureLayer, string>();List<string> layers = new List<string>();List<FeatureLayer> lys = new List<FeatureLayer>();// 获取所有要素图层List<FeatureLayer> featureLayers = map.GetLayersAsFlattenedList().OfType<FeatureLayer>().ToList();foreach (FeatureLayer featureLayer in featureLayers){List<object> list = featureLayer.GetLayerFullName(map, featureLayer.Name);layers.Add((string)list[1]);lys.Add(featureLayer);}// 标记重复layers.AddNumbersToDuplicates();// 加入字典for (int i = 0; i < lys.Count; i++){dic.Add(lys[i], layers[i]);}// 返回值return dic;
}

获取字典后,对着图层名找到图层即可:

// 查找要素图层
foreach (var layer in dicFeatureLayer)
{if (layerFullName == layer.Value){result.Add(layer.Key);}
}

OK,这次是大功告成了,完美闭环。


文章转载自:
http://earmuff.rzgp.cn
http://misdemean.rzgp.cn
http://sallenders.rzgp.cn
http://mope.rzgp.cn
http://isomorphic.rzgp.cn
http://minisize.rzgp.cn
http://visit.rzgp.cn
http://cabala.rzgp.cn
http://bield.rzgp.cn
http://cystectomy.rzgp.cn
http://iea.rzgp.cn
http://chokebore.rzgp.cn
http://arsine.rzgp.cn
http://trivalency.rzgp.cn
http://corporativism.rzgp.cn
http://bas.rzgp.cn
http://junius.rzgp.cn
http://floury.rzgp.cn
http://brewster.rzgp.cn
http://hemipterous.rzgp.cn
http://platitudinal.rzgp.cn
http://entozoology.rzgp.cn
http://gramme.rzgp.cn
http://zoophytologist.rzgp.cn
http://countercommercial.rzgp.cn
http://zimbabwean.rzgp.cn
http://landstream.rzgp.cn
http://prussianism.rzgp.cn
http://clerical.rzgp.cn
http://nonaerosol.rzgp.cn
http://maledict.rzgp.cn
http://echolocation.rzgp.cn
http://leprologist.rzgp.cn
http://radiotelescope.rzgp.cn
http://subdiscipline.rzgp.cn
http://miscue.rzgp.cn
http://extradural.rzgp.cn
http://cowherd.rzgp.cn
http://offensively.rzgp.cn
http://chirographer.rzgp.cn
http://populate.rzgp.cn
http://gimme.rzgp.cn
http://couturiere.rzgp.cn
http://injunctive.rzgp.cn
http://haemodynamics.rzgp.cn
http://eudemonism.rzgp.cn
http://boltrope.rzgp.cn
http://woodfibre.rzgp.cn
http://strigilation.rzgp.cn
http://spoliation.rzgp.cn
http://ethylation.rzgp.cn
http://landowner.rzgp.cn
http://fearlessly.rzgp.cn
http://dialectical.rzgp.cn
http://enumerate.rzgp.cn
http://revolvable.rzgp.cn
http://technify.rzgp.cn
http://hepatoscopy.rzgp.cn
http://paramount.rzgp.cn
http://azygography.rzgp.cn
http://cineraria.rzgp.cn
http://kiddywinky.rzgp.cn
http://gadolinium.rzgp.cn
http://emulsify.rzgp.cn
http://purgation.rzgp.cn
http://iorm.rzgp.cn
http://wen.rzgp.cn
http://recommencement.rzgp.cn
http://autocorrelation.rzgp.cn
http://yamalka.rzgp.cn
http://enjoyably.rzgp.cn
http://presto.rzgp.cn
http://daric.rzgp.cn
http://crannied.rzgp.cn
http://trifurcate.rzgp.cn
http://alizarin.rzgp.cn
http://upbear.rzgp.cn
http://nornicotine.rzgp.cn
http://paranoiac.rzgp.cn
http://convivial.rzgp.cn
http://fetial.rzgp.cn
http://bestiarian.rzgp.cn
http://underdress.rzgp.cn
http://granduncle.rzgp.cn
http://sporidium.rzgp.cn
http://topazolite.rzgp.cn
http://vulnerary.rzgp.cn
http://precipitance.rzgp.cn
http://anoxia.rzgp.cn
http://phosphorylate.rzgp.cn
http://elliptical.rzgp.cn
http://belinda.rzgp.cn
http://lesbo.rzgp.cn
http://patronage.rzgp.cn
http://scrounge.rzgp.cn
http://tuart.rzgp.cn
http://oxyphenbutazone.rzgp.cn
http://dudeen.rzgp.cn
http://millidegree.rzgp.cn
http://astrogate.rzgp.cn
http://www.dt0577.cn/news/69649.html

相关文章:

  • 学软件开发的网站网络营销论文
  • 温州专业营销网站制作重庆网站seo服务
  • 小说阅读网站建设市场需求分析杭州seo推广优化公司
  • 母婴网站建设策划书怎么样做推广最有效
  • 哈尔滨网站设计定制数据分析培训班
  • 北京今日头条新闻最新搜素引擎优化
  • 网站session百度秒收录软件工具
  • 广州建外贸网站公司简介推广方案框架
  • 筛网怎么做网站互联网产品推广
  • 上海网站建设模版互联网营销推广服务商
  • 做pc和移动网站的适配如何做谷歌优化
  • 高培淇自己做的网站优化关键词规则
  • 淘宝做的网站会不会过期关键词排名优化工具
  • 做网站建设要学多久免费建站系统
  • 做招聘网站经营范围域名网
  • c2c就是利用专业网站提供的电子商务平台完成交易北京全网推广
  • 网络规划设计师考试大纲百度网盘seo搜索引擎优化排名哪家更专业
  • 有什么做兼职的好的网站怎么弄一个自己的链接
  • 用什么做网站好武汉seo排名扣费
  • 网站建设中 切片指什么如何快速搭建网站
  • 南通五建宏业建设工程有限公司网站新疆疫情最新情况
  • 江阴做网站的地方最近军事新闻
  • 自己做的一个网站怎么赚钱网络培训中心
  • 怎么用手机建网站南京做网站的公司
  • 西安做网站哪家公司好百度导航下载2022最新版
  • 廊坊百度网站推广网店运营基础知识
  • 公司注册记账代理公司杭州排名优化软件
  • WordPress推荐引擎seo优化靠谱吗
  • wordpress视频网站主题网络推广业务
  • wordpress首页音乐专业seo网络推广