下AE编写切图工具的一对追

by admin on 2018年11月15日

破坏掉好心灵最崇拜偶像最简便方法,就是错过读他的自传,八一八黑历史。只要他尚算是是单实诚的人数,你就算会见发现偶像也是人,不是圆满无缺失全知晓全能的精明。

章版权由作者李晓晖和博客园共有,若转载请让大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/。

立刻首是有关童年教授的局部经历,嘛,力求慢慢把同层层写了,就非用失去看那么依流水账传记了。

1.前言

当时周使用夜晚在家时研究了生怎样利用AE来开发切图工具。最初的想法是直调用GP服务,利用CreateMapServerCache 、ManageMapServerCacheTiles 和Geoprocessor 这样三只类似来开。但是是思路有只光辉的坏处就是须优先颁地图服务。于是接下去并且就换思路,想能否通过瓦片选址算法和AE的有的细粒度类来实现这个意义。在经了三单晚上的算法编写和作用编写后,整个工具基本成型,其中包了针对性算法的优化和部分实际问题的解决。这里与大家大致分享下。

高中之前,教授看上去也就单单是独受父母送去上学音乐,搞抓素质教育的稍屁孩。至于什么音乐天赋,也尚未看下。之后,初中发现自己对音乐的爱护,才逐渐认真起来。

2.切图底基本原理和兑现

如对瓦片和瓦片寻址的有关算法不熟悉的爱人,请参考我形容的起脚探究WebGIS的原理系列:http://www.cnblogs.com/naaoveGIS/category/600559.html。

这里自己直接被出所涉及到之几个公式。

若果说以外就段童年涉来看点什么来,那便非是起外身上了,而是他上下身上。不得不说,坂本天一样能够在襁褓时期即遭受非常好之音乐教育,而且也能得到家人强有力的支持,对客下的腾飞具有不可或缺的帮组。安相信子女的操纵,尊重他的理念,并与坚定的支撑,他父母开得很过硬

2.1Resolution变换公式

resolution=scale*inch2centimeter/dpi。其中scale是地图比例尺,inch2centimeter为英寸转厘米的参数,dpi为1英寸所涵盖的像素。

苟他好,小学熊孩子一个;中学从不听课,犯中第二身患;高中罢课,闹学生活动。你若敢这样夺学,小心腿让打断。

2.2行列号博公式

如若,地图切图的原点是(originX,oringinY),地图的瓦大小是tileSize,地图屏幕及1像素代表的其实距离是resolution。计算坐标点(x,y)所当的瓦的队号的公式是:

col  = floor((originX- x)/( tileSize*resolution))

row = floor((oringinY – y)/( tileSize*resolution))

绝不天赋的寂寥孩子

扣押教授的有的材料,感觉他并无是一个非常善言的人口,更多是一个口双手交叉胸前,背依着什么,酷酷地圈在漫天。这十分老程度上还与外寂寞之孩提有关。

使说坂本幼年显现出音乐才能,和针对音乐之挚爱,那就是乱说。可能而一旦立即相如此一个熊孩子,也是赌博一片钱未迷信这有点鬼以后会成音乐大师。所以这,大家为还是如此想的。特别是老婆为不管一点音乐细胞,爸爸是编辑,妈妈是帽子设计师,亲戚朋友也从未将音乐的。

小儿率先不善摸琴是因就读的幼儿园,注重孩子文艺方面培养,于是会要求孩子有时候摸摸琴,弹弹。当然,这时候坂本对钢琴并无感,上去寻找两产,随便按按,敷衍敷衍就辱混过关了
( 后来凡是 make love with piano )。

苟关键为,可能只要说到他的首先破作曲了。一般介绍教授的素材,都见面领取他以幼儿园写的《小兔之歌唱》。但实际这首曲子可能连从未呀。因为没留下任何有关这首曲的材料,这时坂本也未曾领了呀音乐教育,自己对音乐不冷不热。

然就篇乐曲的义在于给他体会至了,著出东西,最重点的凡由于谢而发之,只有真正的发自内心的感情才能够看做好的编写之来源于

设《小兔之唱》的作文,是为幼儿园的一个暑期作业,让孩子们轮番养兔子,然后形容歌,小坂本就哼哧哼哧地养了一段时间,把当下段时日的感想变成了音乐。

这看法对于新兴坂本的做无比重要,因为任他音乐,很多时是起之情触动,有时还是略粗糙,但却持有感情冲击。和一部分作曲大家不同,他们出温馨之程式,在程式上精致设计总体,感觉是得意,但却尚无撞击。比如到底为用来一头比较的久石让。

也不知在何处看底一律句子话,比较久石让与坂本龙一的乐。虽然都是正规出身,但久石为的且是化妆精致的妹子,而坡本天一样吃大家见的虽然是一个个素颜美女

因此于念自传时,最有意思的凡,按照时间的前进,读着教授就段时的经历,心理状态的浮动,同时任着他于这样的思维下写起之著述。这时便仿佛自己正寄宿在他的魂上,感受着一切的扭转,有如躺在海底,静静看在暗流的奔流,与之带来的明暗变化。

从此以后,上了小学,妈妈们聚集在一块儿叽叽喳喳。

“娃好不容易上了这种幼儿园,有些音乐功底。应该使持续培养下。“

“对之,对之。不克荒废。”

“那咱们为什么不齐请位钢琴老师,来教孩子辈也。”

“对的,对的。也发生个小伙伴。”

乃,小任课就才开始了外的音乐教育,老师是徳山寿子,当时一致丛孩子还深受老师带在组了一个厨房乐队,上了电视(是的,那个用在巨大掏耳勺的就算是教课了)。

关于上课及学琴之外,小天一样都在涉及啊也。因为爸爸是编写工作忙碌,很少会,母亲也只要干自己之做事,于是他老是被抛弃在郊区外公物。也从未啊玩伴,就发展出一致仿照自己之玩法,自己及调谐玩。

最常干的自然为尽管不是练习琴练到手抽筋,而是蹲在女人看美国动作片。之后于庭内,假装自己是中流砥柱,一下爬了这铁丝网,一下而通过那个战壕,自high得够呛。俨然就是是一个免晓在跟什么不知名力量做努力的熊孩子,还都用依了危害。我怀念这同段落小孩的自导自演,也也外事后想出演电影奠定了定的思维基础吧。

立马段时光最欢喜的作曲家是巴赫,作为一个天才少年,就是喜出挑战的事物。当然不是。

才是为他是只左撇子,一般的作曲家写的曲都是左伴奏右手旋律,两手难易度通常有些不同。而巴赫这难曲创作狂魔,总是左右手角色转换,一起弹。反而吃多少坡本好上了这么的乐曲。

若其实,我问问了千篇一律员左撇子弹琴的好爱人。

“左撇子,一定喜欢巴赫吧。”

“才没有吗,太碍事矣。”

2.3AGS瓦片的特征

依工具的目标是切出与AGS瓦片相同格式的瓦。AGS的瓦具有以下特点(在http://www.cnblogs.com/naaoveGIS/p/3903270.html自我开了详尽的讲课):

(a).L开头的象征了Level,R开头的代表了row,C开头的意味了Col。

(b). L后的数字是个别号字符串,R后的是八号字符串,C后的也是八各项字符串。

(c).英文后的数字均是16进制数,然后不足位数的用0补充。

聊思春的受第二患病少年

所谓明月装饰了您的窗牖,坂本装饰了自的逼格。作为万恶之源的执教,当然也是发出谈得来两把刷子。一身装逼本领于中学时代即曾炉火纯青。除了就点,中学还给坂本带来的凡,他针对性音乐确实的慈。

首先八一八他放弃音乐之转业吧。

怎么一回事吗,首先是齐中学后,一下差不多了好多社团,当然为大多矣广大初即凹凸的良好女生们。为了取女生的逆,也尽管是为泡妞,坂本毅然决然加入篮球部,“教练,我而打篮球!”。他可能看自己自完篮球就见面化这样。

再有这么,秒秒钟成为人生淫家。

于是乎钢琴也无思量弹了,就跟严父慈母讲讲老师说,更是登门道歉,自己不模仿音乐了。当时即令产生得有点尴尬。

这就是说是因之前五年级,钢琴老师推荐小龙一去学作曲时,由于用贵,而且也并无是说如果被子女之后靠音乐吃饭,当时女人为是产生一对争的。但坂本天一样协调咬牙了想学,于是大人啊即不再多说,即使负担非常十分,也要支持了亲骨肉。

结果当场声势大挺如效仿作曲,结果才法一年差不多。因为若打球泡妞突然说不学就非仿,岂不是甚窘迫。于是有了千篇一律发,音乐导师为发生头未喜欢,但结尾父母或者重视了外的支配,于是便一段时间放弃音乐,开始打篮球。

过了一致段未沾音乐之时间,大概半年吧。坂本就才意识并未音乐的夜间,寂寞空虚冷,原来音乐就化为好没辙割舍的如出一辙有的了
(可能也是从未交高达女对象)。

于是乎以反悔了,这次说若真正好好学音乐了。又是暨养父母说老师谈,更是亲自上门道歉鞠躬:“请复又漂亮让我作曲!”

至于篮球部那边,他啊被篮球部前辈道歉,商量退部。于是以日本那些社团乱七八糟的仪仗,被关至角落,肚子狠挨了相同拳脚,苦着同摆放脸才算是落了总理。此后才开老老实实做音乐。

除外音乐之转业,还有他交友的事情,中学可以说凡是他交奇朋异友的起。

坐爹爹是编,耳濡目染,也读了诸多书。而且就放任音乐呢是任披头士,那些刚由小学起及来的小屁孩估计还以听喜羊羊,一个趟知道披头士的才二三丁。于是,说得来之爱人吗甚少,而立即会懂得这些的中学生也是都有两把刷子的。

遂为读了累累挥毫,包括各种萨特与笛卡尔的哲学书,和这些情侣并座谈。但实则,按他好的说法,其实那时也没怎么读懂,只是当言这些好怪,逼格高。

再次来说说他中二的作业,这段时间他开始狂热地钦佩一位作曲家,德彪西。是当叔叔家最初放了德彪西底弦乐四重奏,当时只要闻天音,转头就把老伯的特辑捣鼓着被借出去了。

他顿时狂热到好在家听德彪西时,甚至瞬间会晤当温馨就是是一百年前特别法国德彪西以日本之转世。还特地找来德彪西底署名,照在使劲练习怎么签德彪西的名,要开还世德彪西。

一时之间,如痴如醉,也觅来了德彪西之谱子,模仿德彪西之风骨作曲,完成好的作曲作业。

说词题外话,虽然连年调侃。但是遭到第二得病其实是独老好之状态,虽然人口有硌痴疯癫癫,但生一个学习效果加成的副产品,学东西有如神助。因为心无旁骛,对好想干的事物而来种植狂热,不顾一切想学好。俗话说,不疯狂魔不化活嘛。虽然下回头看来,满是黑历史,一匹黑线。

2.3基于以上公式流程

  
我们首先取得用户输入的切图级别反复组levelScaleArr,瓦片大小(imgWidth,imgHeight),切图原点(originX,originY)还有像素值DPI。同时我们还要通过接口获得这地图的限量(dXMin,dYMin,dXMax,dYMax)。

   流程的盒模型如下所示:

       图片 1            

  

2.4实现

落实达标,主要行使了AE做了这样几只作用:

(a).使用IMapControl类获得mxd的季比坐标。

(b).使用IActiveView、ExportPNGClass和EnvelopeClass实现以地图局部导出效益。

另外都按照上述流程图实现。

3.效优化

3.1传出图种类的优化

每当AE中可导出多种格式的图。利用ExportJPEGClass(),ExportBMPClass(),ExportEMFClass(),ExportGIFClass()等即可兑现。

3.2图形透明底优化

由此地方的接近直接导出的图其背景色默认为了反动。而AGS切图中,背景色是晶莹的,所以这边还要做一个图纸透明度优化过程。C#中转成Bitmap后,利用该类自带的MakeTransparent即可兑现。

4.算法的优化

4.1 缩小切图范围

以工艺流程中,我们默认的切图是由切图原点开始的,这样会切成很多博之不论是用图。我们得直接从离地图DXmin和DYmax最靠近处开始切图即可。

startXByLevel = (int)Math.Abs((Math.Floor((DXmin-originX) /
dImageWidth)));

startYByLevel = (int)Math.Abs((Math.Floor((originY-DYMax) /
dImageHeight)));

startXByLevel和startYByLevel即为X轴和Y轴的切图初始点。

4.2未绝无效图

俺们常会面切出整张图都是透明底空图。但是在AGS的切图中,是看不到这样的无效图的。我们得当切图时先判断这限外是否生素在,有的话虽断,没有的话,continue掉。这样啊得减切图的多寡。

5.算法的尤其优化——支持经纬度地图切图

当前上面的备过程,均就对做了影转换的mxd有效,但是若我们的mxd中之坐标系无影转换只发一个地理坐标系为,也便是本地图也经过纬度坐标时,此时欠怎么兑现切图?

实在思路为老粗略,如果我们真的明白以上resolution的所表示实际意义,那么解决这题目之思绪就相应出了。

地面图为经过纬度时,我们切图的比例尺设置相应改吧切图的分辨率设置。这样咱们尽管直获取了每个级别的resolution,然后用resolution来切图即可。不用再举行上述之用比例尺转换为resolution的步子。

6.注意

以levelScaleArr中,里面的比例尺数字是就index增加而增加的,但是比例尺数字更是老,其相应的Level是越聊之。所以我们于遍历Level层时,应该是一个递减的遍历,这样大成的L文件夹的号码才是对的。

7.效果图

以下是功能图:

 图片 2

8.不足

(a).目前无法切出紧凑型(Compact)瓦片。解决思路,用面的措施导出图后,需要拿图变成二向前制然后循bundle的格式重新转,并且还要生成索引文件bundleX。

(b).所用之AE毕竟是包装的不胜好的机件库了。用GDAL的话语,由于包裹层次低有,效率应会再度好一些。

 

                                                               
 —–欢迎转载,但保留版权,请吃大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                          
如果你觉得本文确实帮了若,可以微信扫一扫,进行小额的打赏和鞭策,谢谢
^_^

                                    图片 3

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图