免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 3091|回复: 5
收起左侧

[技术交流] GIS生成内部点及excel问题处理总结

[复制链接]

11

主题

8198

铜板

11

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
757

爱心勋章组织勋章地信元老灌水勋章荣誉会员勋章活跃勋章地信专家组VIP勋章贡献勋章成就学员勋章

QQ
发表于 2019-7-30 07:34 | 显示全部楼层 |阅读模式
  前几天在处理数据的时候,需要求面的内部点,但这次用arcgis处理的时候一直报00027错误,网上搜索一下也没有发现问题出在什么地方,我就想起来用QGIS试一下看看报出什么问题,结果没有报出问题,但是不要高兴太早,通过查看属性条数发现有几个面没有生成内部点,然后反推找出面,发现竟然是细小图斑的原因。
那就顺带写一下arcgis生成内部点并把相应字段挂接到面上面。步骤如下
第一步
                                                          1.png
第二步
                                                            2.png
第三步
                                                            3.png
不过第三步也可以用包含命令把字段进行挂接,经常使用这个问题的话也可以创建个模型构造器保存一直用。
excel问题
先描述一下问题,有两列数据一列数据中有重复数据,然后把相同的数据对应的另一列的数据进行连接,问题如图:
                                                                                  4.jpg
这要是用fme处理的话两个转换器就解决了,创建列表,然后连接,最后输出数据,挺方便的,但是不是每个人都安装FME了,下面分享一下vb处理代码:
Dim strNumber, dataNumber, dataDeleNumber As Integer
    Dim startDataNumber, startDataDeleNumber As Integer
    Dim str1, str2 As String

    Range("A1").Select
    dataNumber = Range(Selection, Selection.End(xlDown)).Count  '求出数据总行数
    Range("C1").Select
    dataDeleNumber = Range(Selection, Selection.End(xlDown)).Count  '求出删除重复项数据总行数
    startDataDeleNumber = 1
    str2 = ""
    While (startDataDeleNumber <= dataDeleNumber)
      str1 = ""
      startDataNumber = 1
      While (startDataNumber <= dataNumber)
        If Cells(startDataNumber, 1).Value = Cells(startDataDeleNumber, 3).Value Then
          str1 = str1 + Str(Cells(startDataNumber, 2).Value) + ","
        End If
        startDataNumber = startDataNumber + 1
      Wend
      strNumber = Len(str1)
      str2 = Mid(str1, 1, strNumber - 1)
      Cells(startDataDeleNumber, 4).Value = str2
      startDataDeleNumber = startDataDeleNumber + 1
    Wend
实现的效果如下
                                                    5.jpg

7

主题

3万

铜板

57

好友

地信名人堂

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

积分
1796

精华勋章宣传勋章爱心勋章组织勋章优秀斑主地信元老灌水勋章荣誉会员勋章活跃勋章官方团队地信专家组VIP勋章贡献勋章成就学员勋章

发表于 2019-7-30 10:18 | 显示全部楼层
完全看不懂楼主到底要干啥,描述能力堪忧
1.按你的标题意思,要素转点本来就带字段及属性,还需要挂接?但看你的内容,貌似是想把没有转出来点的几个图斑手动弄上点标识属性;
2.完全看不懂你的描述,从发的两个图来看意思好像是要找出第一列重复的值对应的第二列的值有哪些,不在意格式的话直接 插入-数据透视表 就行了,哪里犯得上FME甚至编程
回复 支持 反对

使用道具 举报

11

主题

8198

铜板

11

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
757

爱心勋章组织勋章地信元老灌水勋章荣誉会员勋章活跃勋章地信专家组VIP勋章贡献勋章成就学员勋章

QQ
 楼主| 发表于 2019-7-30 19:45 | 显示全部楼层
yyx17 发表于 2019-7-30 10:18
完全看不懂楼主到底要干啥,描述能力堪忧
1.按你的标题意思,要素转点本来就带字段及属性,还需要挂接?但 ...

1、实际情况是点数据中字段与面数据中字段不相同;
2、要求是把第一列重复项对应的第二列数据连接起来;
回复 支持 反对

使用道具 举报

1

主题

1129

铜板

1

好友

助理工程师

Rank: 5Rank: 5

积分
243
发表于 2019-9-9 16:44 | 显示全部楼层
介绍非常详细,赞
回复 支持 反对

使用道具 举报

0

主题

3141

铜板

6

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2491
发表于 2021-5-27 10:46 | 显示全部楼层
学习一下!
回复

使用道具 举报

10

主题

1万

铜板

19

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3722
发表于 2021-11-10 13:40 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表