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

查看: 5231|回复: 18
收起左侧

[技术交流] 【原创】点转线构造箭头趋势图思路升级,含自定义工具的灵活运用

  [复制链接]

4

主题

2万

铜板

57

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
25705

贡献勋章宣传勋章

发表于 2014-3-18 19:07 | 显示全部楼层 |阅读模式
本帖最后由 daitianci 于 2014-3-18 19:12 编辑

前阵子发表了一篇《ArcMap点转线的操作和理解,稍稍的扩展 》的帖子,介绍了如果根据速度以及方位来构造箭头趋势图,里面涵盖了excel展点,点转线工具的深入了解,在这个基础上,趋势图已经可以顺利画出来了。就当我挺开心的时候,前辈又提了一些建议,让我有些头疼,如下:

1、速度以及方位处理出来的文件最好能直接导入ArcMap内与其交互,你现在导出成文本格式,通过UE黏贴如Excel二次编辑,分割成经纬度,在50+张图的制作上要多产生很多文本,而且浪费很多时间去Excel二次编辑,繁琐!!!;

2、在Excel文件制作完以后,把Excel文件导入进去ArcMap以后,你首先得展点位,然后导出点shp文件,然后再点转线工具得出线文件。粗粗地看,貌似一环扣一环,但是你产生了很多不必要的中间文件。一个是缓存在默认数据库的展点位文件,二是点shp文件。可能你会觉得这个没什么,但是在50+张图的制作中,你就会凌乱了,因为太多的文件让你眼花缭乱,而且一环一环的重复操作让人有点厌烦,真的是不能忍,你能不能避免!!!;

3、你制作的趋势图的箭头表示方向,那么每一段都代表多少,你需要一个比例尺,这个比例尺总不能用手去画一段线吧,这样不准而且不科学,你得想一个好法子。

毕竟前辈,思路非常的开阔,给我指明了前进的方向。想想也是,能做一件事,做好一件事,又快又好的做一件事,这三个级别是完全不一样的,一个人的提高总是要不断挖掘自己的缺陷,然后去面对它、改善它。我前天晚上失眠了,躺着翻来覆去的时候,无聊时候才思考这个事,到天亮的时候总算有个所以然了。针对第1个问题,解决方法是这样的:既然ArcMap支持Excel,那么我就直接把坐标文件直接导出成ArcMap支持的Excel文件格式(还有一种思路就是Arcmap直接支持txt点位文件,这个没有找到好的解决办法,有的话请教教我,感激不尽!),导出Excel文件我想到了NPOI这个工具,妥妥的,因为用olede来写还是有些问题。在这里会提供一份可以运行的NPOI的小例子(已经把.Net降成4.0版本)。还有一个比较有意思的细节发现,就是你把经度列的Head改成X,纬度列的改成Y,这样展点的时候会自动识别;针对第二个问题,我的思路是这样的,首先是重复繁琐操作的解决办法,那就是自定义工具箱。之前也有想研究研究工具箱,看了一段时间的python,后来才发现,有时候代码都可以不用写就可以私人定制。是的,我们都喜欢创造,但是有时候灵活运用更为关键。其实,系统自带的工具箱已经相当全了,而且ArcMap很人性化,我们可以通过自带的工具去组合出我们要的工具。在这里跟大家介绍一个模型的概念。你可以新建一个工具箱,然后就可以创造模型,然后右键编辑,你就可以往里拖工具了,Arcmap支持这样的操作,我在这个思路上把展点工具、导出图层工具还有点转线工具集合在一起了。这个问题解决了,接下来是中间件问题,那么多没有必要的中间文件怎么处理,毕竟程序员,在订制模型的时候,我把中间件放在内存中了,这样就不会产生那么多的文件。针对第三个问题,其实很简单,思路的转换罢了。我们呢,把图例的箭头起始的地方当作一个站点,方位设为90,速度设100,然后就可以画出一条线了,而这条线就可以代替图例,你要做的就是加个标注。

改良以后的操作与之前的操作相比,真的有一个质的飞跃,今天前辈很开心,觉得我长大了一点,挺好的。我不是一个特别好学的人,算是一个比较懒的人,把一件事简单化是我最想做的事,这样才有更多时间去好好玩耍。

看到这里你可以看视频了,如果对程序也感兴趣,或者你也遇到别的需求,或者你有别的思路,欢迎指导交流。

技术没有秘密,分享才是王道,一起努力,共同进步。


WpfNPOITest.zip

621.11 KB, 下载次数: 121

点转线再扩展.zip

4.19 MB, 下载次数: 264

评分

参与人数 2铜板 +2 收起 理由
shufff + 1
梦见天堂 + 1 有创造力 有想法

查看全部评分

7711

主题

31万

铜板

892

好友

超级版主

地信网论坛贵宾

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

积分
128745

宣传勋章优秀斑主灌水勋章活跃勋章贡献勋章童话节勋章

QQ
发表于 2014-3-19 08:25 | 显示全部楼层


进来看看了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

2

主题

5714

铜板

7

好友

地信学员

Rank: 12Rank: 12Rank: 12

积分
514
QQ
发表于 2014-3-19 08:43 | 显示全部楼层
无私的人是最让人可敬的人
回复 支持 反对

使用道具 举报

6

主题

740

铜板

34

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
966
发表于 2014-3-19 10:25 | 显示全部楼层
支持支持支持
回复 支持 反对

使用道具 举报

2

主题

5084

铜板

1

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
945
发表于 2014-3-19 10:31 手机频道 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

5

主题

1630

铜板

17

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1479
发表于 2014-3-19 10:49 | 显示全部楼层

一起学习,一同进步。顶
回复 支持 反对

使用道具 举报

55

主题

1万

铜板

35

好友

地信院士

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

积分
2474
发表于 2014-3-20 16:21 | 显示全部楼层
进来看看了
如果你的心是乱的,你看这个世上,也就是乱的
回复 支持 反对

使用道具 举报

55

主题

1万

铜板

35

好友

地信院士

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

积分
2474
发表于 2014-3-20 16:36 | 显示全部楼层
进来看看了
如果你的心是乱的,你看这个世上,也就是乱的
回复 支持 反对

使用道具 举报

55

主题

2万

铜板

61

好友

钻石会员

力求进步

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
5987

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

QQ
发表于 2014-3-30 12:15 | 显示全部楼层
进来看看了

回复 支持 反对

使用道具 举报

85

主题

1万

铜板

54

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
35647

宣传勋章灌水勋章贡献勋章

QQ
发表于 2014-3-30 20:47 | 显示全部楼层
呵呵  很好 很有创新的想法
每天上论坛 一天好心情
回复 支持 反对

使用道具 举报

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

本版积分规则

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