supermap如何打开txt矢量数据_【GIS实验教程】如何计算指定多个城市的河流总长度...

本文提供了一个实例教程,详细介绍了如何在SuperMap中选取18个城市并计算其河流总长度。首先,通过河流与市的交集筛选出目标数据,接着进行坐标系转换,选择合适的投影方式,确保计算距离的准确性。然后,利用ArcGIS导出属性表,处理乱码问题,并在Excel中使用数据透视表计算各市河流长度。
摘要由CSDN通过智能技术生成

实例教程:如何选取18个指定的城市,并计算18个市的河流长度呢?

河流与市求交集

99f3504bae01c2044dc5d4b62cc9460e.png
  1. 筛选市的矢量,按属性选择市,选取对应的18个市
"市" = '无锡市' OR "市" = '扬州市' OR "市" = '徐州市' OR "市" = '湖州市' OR "市" = '苏州市' OR "市" = '合肥市' OR "市" = '连云港市' OR "市" = '宿迁市' OR "市" = '嘉兴市' OR "市" = '南京市' OR "市" = '杭州市' OR "市" = '十堰市' OR "市" = '遵义市' OR "市" = '宜昌市' OR "市" = '宜宾市' OR "市" = '淮安市' OR "市" = '重庆市' OR "市" = '阜阳市'

96d8ee9ffbca9df67d64ca3c6de0ea3a.png
  1. 使用相交(Intersect)获取市矢量和河流矢量的交集

d139f06c76f87c1677d936ed4e4aba27.png

a7975f86ee8154761e308823340481d1.png
  1. 图形处理基本完成,但是由于数据是国家2000坐标系,地理坐标系,如果想获得河流长度,需要进行投影,这个时候需要将地理坐标系转换为投影坐标系

坐标系转换

坐标系的选择

我们使用的数据来源于国家基础地理数据库,使用的是国家2000地理坐标系,单位为度,为了计算距离,我们应该使用等距离投影进行计算。

bbc3ad21d703610da73ca969b3e487f4.png

我国的基础地理数据为国家2000坐标系,在ArcGIS中只有高斯克吕格投影的CGCS2000投影坐标系,高斯克吕格投影有三度带和六度带,而研究区地跨整个长江流域,所以我们需要使用大范围的投影,但是在ArcGIS里面没有这个时候就需要我们自定义一下投影

7d4b34b3aed9355c4cac4bc6a8384b8f.png

投影参数我进行了如下的修改:

  1. 我选择了亚洲区域的等距离投影,在此基础进行修改
  2. 研究区位于东经100-125范围内,为了减小变形,我中央子午线设置为115度
  3. 椭球的设置,地理坐标系选择CGCS2000,也就是原始数据使用的地理坐标系

cccb8c4bad57783f7e6854a4a1bdf819.png

设置完成后,就可以将国家2000地理坐标系转为等距离投影了,计算后矢量长度单位为米。

50a515c95af7d4dc8d13168758a5b603.png

更多坐标系知识请参阅下面文章:

604aa93af404d2dbfe3e0119f838f292.png

将投影后的数据属性表导出,到EXCEL中进行计算,导出的时候推荐导出为文本型,默认是txt后缀名,为了打开方便,建议手动修改为.csv

d76f70895f08899293911b80b606d63c.png

河流分城市长度计算

ArcGIS导出属性表乱码

ArcGIS导出的属性表,默认一般为UTF-8编码,而windows系统一般使用的是ANSI,直接EXCEL会发现是乱码

e2b38fe758c638fe6f6b7cbb3f9b0d5d.png

建议使用NOTEPAD++打开,然后转换编码,编码-转为ANSI编码,这样就能够让EXCEL识别了。

数据透视表计算分市河流长度

选取市、河流长度(Shape_Length)所在的列,建立数据透视表

4ce8a29a452b24eaf0a47ce111912c4f.png

数据透视表行选择“市”字段,求和项:SHAPE_Length,这样就计算得到了每个市的河流长度,单位为米。

5d07f008d270851c22c17effad1b71e5.png

如果觉得不错还请转发分享哦,转发朋友圈集赞15个,截图发送公众号,即可获取公众号练习资料

有疑问或者更好地想法可以留言讨论哦

欢迎投喂徐小洋鸡腿,点赞,在看

更多文章请关注微信公众号:走天涯徐小洋地理数据科学

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值