新普金娱乐网址


东成西九||人和人最大的歧异是认知

PhoneGap & Cordova 安装白皮书

墨卡托投影、地理坐标系、地面分辨率、地图比例尺地理

  • 一月 28, 2019
  • 地理
  • 没有评论

08 晁错及其别人物

GIS反驳(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing
Maps Tile System)

晁天王(约公元前200—公元前154年),也曾多次上疏朝廷,他是一个帮派人物,主张重农抑商,发展生产,削弱诸侯,抗击匈奴。他的篇章不大强调文采,但思维深切,说理透彻,很有派系的文风特点。

  墨卡托投影(Mercator
Projection),又名“等角正轴圆柱投影”,荷兰王国地图学家墨卡托(Mercator)在1569年拟订,倘使地球被围在一个空心的圆柱里,其赤道与圆柱相接触,然后再假想地

后来汉刘启很薄弱,在政治努力中,就把晁天王杀了。晁错的佳作为《论贵粟疏》。

民贫,则奸邪生。贫生于不足,不足生于不农,不农则不地著,不地著则离乡轻家,民如鸟兽。虽有高城深池,严法重刑,犹无法禁也。夫寒之于衣,不待轻暖;饥之于食,不待甘旨;饥寒至身,不顾廉耻。人情一日不再食则饥,终岁不制衣则寒。夫腹饥不得食,肤寒不得衣,虽慈母不可以保其子,君安能以有其民哉?明主知其然也,故务民于农桑,薄赋敛,广畜积,以实仓廪,备水旱,故民可得而有也。

百姓生活贫困了,就会去做邪恶的事。贫困是出于不活络,不富裕是由于不种地,不从事农业就不能在一个地点定居下来,无法落户就会距离故土,轻视家园,像鸟兽一样各处奔散。那样的话,国家就是有英雄的城墙,深险的城池,严苛的法令,暴虐的徒刑,依然不可能禁止他们。受冻的人对时装,不要求轻暖;挨饿的人对于食物,不必要香甜可口;饥寒到了身上,就顾不上廉耻了。人之常情是:一天不吃两顿饭就要挨饿,整年不做衣裳穿就会受冻。那么,肚子饿了没饭吃,身上冷了无衣穿,尽管是小姨也无法留住他的幼子,国王又怎能拥有他的人民呢?贤明的帝王精晓这一个道理,所以让老百姓从事农业生产,减轻他们的赋税,多量储备粮食,以便增添仓库,防患水旱患难,因而也就可见享有人民。

民者,在上所以牧之,趋利如水走下,四方无择也。夫珠玉金银,饥不可食,寒不可衣,然则众贵之者,以上用之故也。其为物轻微易藏,在于把握,可以周海内而无饥寒之患。此令臣轻背其主,而民易去其乡,盗贼有所劝,亡逃者得轻资也。粟米布帛生于地,长于时,聚于力,非可一日成也。数石之重,中人弗胜,不为奸邪所利;一日弗得而饥寒至。是故明君贵五谷而贱金玉。

黎民呢,在于国王用怎么着艺术来治本他们,他们追逐利益如同水往低处流一样,不管西南东南。珠玉金银那些东西,饿了无法当饭吃,冷了不可以当衣穿;但是人们照旧强调它,那是因为国君需求它的来头。珠玉金银那些物品,轻便小巧,不难收藏,拿在手里,可以畅游全国而无饥寒的威吓。那就会使臣子轻易地反其道而行之他的太岁,而平民也随便地偏离故乡,盗贼受到了鼓励,犯法逃亡的人有了造福辅导的财物。粟米和布帛的原料生在地里,在任其自然的季节里成长,收获也需求人工,并非长时间内得以成功。几石重的粮食,一般人拿不动它,也不为奸邪的人所贪图;但是那几个事物一天得不到即将挨饿受冻。由此,贤明的君主着重五谷而轻视金玉。

球主题有一盏灯,把球面上的图纸投影到圆柱体上,再把圆柱体展开,那就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。

……

一、墨卡托投影坐标系(Mercator Projection)

那段主要讲粮食对于国家的严重性。

  墨卡托投影以一切世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向北向北为正,向北向东为负。南北极在地形图的正下、上方,而东西方向处于地图的正右、左。

再有一部分债权国的女小说家,代表如枚乘和邹阳。

  由于Mercator
Projection在两极附近是趋于无限值得,因而它并没完全呈现了整整社会风气,地图上高高的纬度是85.05度。为了简化统计,我们使用球形映射,而不是椭球体形状。固然应用Mercator
Projection只是为着便于浮现地图,须求掌握的是,那种映射会给Y轴方向带来0.33%的误差。

枚乘《谏吴王书》:他把吴王的作为比作“夫以一缕之任系千钧之重,上县无极之高,下垂不测之渊”;“虽甚愚之人犹知哀其将绝也。马方骇鼓而惊之,系方绝又重镇之”,告诫吴王“必若所欲为,危于累卵,难于上天;变所欲为,易于反掌,安于五指山。”

地理 1

及时她看来公子光有谋反之心,就劝他绝不谋反。


邹阳早年与枚乘同居于吴王刘濞门下,也写过《上书公子光》,劝其勿反。后来被下狱,又写了《狱中上梁孝王书》,陈诉冤屈。文中多量罗列隋唐君臣遇合的例子,劝谏梁王真正信用贤才,“不牵于卑辞之语,不夺乎众多之口”,抒发了正直之士无辜受谤的难受。

地理 2

那类文章鲜明带有有穷纵横家的特点,他们是在诸侯王的国度里。在思想上,还和王室一样,维护大旨的集合。

earthRadius =6378137

藩国之文的另一部代表作是河源王刘安及其门客所作的《安庆子》。那本书最后作出是在孝武皇帝期间,它仍旧表示了汉初的文风。

20037508.3427892 = earthRadius * (math.pi – 0)

它又名《内江鸿烈》,包含《原道训》、《谿真训》、《天文训》、《地形训》等21篇,内容涉嫌天文、地理、政治、文学、道德、风俗、法制、兵略等诸多方面。思想倾向以道家为主。

其文章想象丰富,描写生动,辞采富丽,奇伟多姿。文中多量行使较为整齐的排比、对偶句式,间以韵语,造成滚滚而来的气魄和激越悦耳的音乐美,同时又富含不少神话神话和寓言故事,富于浪漫气息。

85.05112877980659 = (math.atan(math.exp(aa / earthRadius))-math.pi/4)*2
* 180 / math.pi

09 古代前期的阐发随笔

image = 512 * 512

汉武帝时期,汉朝王朝达到了发达的极端,随笔写作也空前繁荣。它们继承维持了先前时期小说充满政治心绪,有才情,有气魄的表征。在情节和文风方面,这一时期的论述文中又有三种值得注意的赞同。

groundResolution(1 level)  = (20037508.3427892 * 2) / 512 =
78271.516964

首先,是出现了一批直接为朝廷歌功颂赞、为现实政治服务的小说。其象征小说家是司马长卿。

screendpi = 96

司马长卿(约公元前179—公元前118年)临终前作的一篇赋体《封禅文》,目标就是为着赞赏“大汉之德”,作品写得华贵庄严,辞采缤纷,充满了对南宋统治者的普天同庆。

他还有《谏猎疏》、《谕巴蜀檄》和《难蜀父老》三篇小说,前者是出于唐蒙大征巴蜀吏卒以通夜郎、棘人中,引起蜀民不满,国王乃派相如赴蜀责唐蒙等,并“谕告蜀民以非上意”,因作此文。

盖世必有十分之人,然后有非凡之事;有非常之事,然后有万分之功。卓殊者,固常人之所异也。故曰格外之元,黎民惧焉;及臻厥成,天下晏如也。

……

夫拯民于沈溺,奉至尊之休德,反衰世之陵夷,继周氏之绝业,皇帝之急务也。百姓虽劳,又恶可以已哉?

mapScale = groundResolution * 96 / 0.0254 = 295829355.455

附带是出现了部分感慨士之不遇,抒写牢骚不平的著述。


这一期间朝廷加强了保守专制统治,诸子百家的主义,也饱受了限定。那样吧,言论就不可以轻易了。那样一来,文人的实际上身价就狂跌了。不像东周这多少个时期自由不受限制,在一个地点更加,可以拍拍屁股就走,去另一个地点寻求高就。

唯独,那几个时代分外了,它渐渐停止了百家并存和公爵国养士的范畴。汉世宗施行的酷吏政治又使他们动辄得咎。酷吏,执行法律很严的官府。比如太史公就因为说了几句话,就触碰了皇威,受到了宫刑。

许多文豪感到受到压抑,有志难伸,因此在创作中发挥了那种不快抑郁之情。

那几个时代的代表作品有东方朔(公元前154—公元前93年)的《答客难》。那是一篇赋体散文,文中如果客人向作者问难,嘲笑她虽有“博闻辩智”,却难与张仪、孙膑的地位比较。然后便宜辩解道:“彼一时也,此一时也,岂可同哉!”

张曼倩此人很有抱负,身材高大,不过呢,他在汉世宗面前做了一个微小的郞官,地点很低,汉武帝只是把他看成宫廷谈笑取乐的如此一个人,换句话说皇上只是把她当作小丑,取乐调节氛围来利用。

于是,张曼倩就感觉怀才不遇。

故绥之则安,动之则苦;尊之则为将,卑之则为虏;抗之则在高位之上,抑之则在绝境之下;用之则为虎,不用则为鼠;虽欲尽节效情,安知前后?夫天地之大,士民之众,竭精驰说,并进辐凑者,千千万万;悉力慕之,困于衣食,或失门户。使孙膑、张仪与仆并生于今之世,曾不得掌故,安敢望左徒乎!传曰:‘天下无害,虽有圣人,无所施才;上下和同,虽有贤者,无所立功。’故曰:时异事异。

就此抚慰他就稳定,折腾他就忧伤。爱抚他得以为大将,贬斥他得以为俘虏。升迁他可在高位之上,抑制他则在深泉以下。任用他可为老虎,不用他则为老鼠。即使做臣子的想尽忠出力,但又怎知道进退得宜呢?天地之大,士民众多,竭尽全力去游说的人似乎车轮的辐条齐聚车轴一样,多得密密麻麻,被衣食所困,找不到晋身之阶。即使张仪.孙膑与我并存于当世,也当不上掌故那样的小吏,还敢指望成为教头吗?所以说时异事异呀。

想唤醒你,你就高位,想压制你,你就没有。那篇小说表明了知识分子,在马上明朝大一统的层面下,有志难伸,不可能施展的那种压抑感。暴露了统治者依照自己的好恶,随意的余音袅袅人才,造成贤愚不分的切实。

  由于赤道半径为6378137米,则赤道周长为2*PI*r =
20037508.3427892,由此X轴的取值范围:[-20037508.3427892,20037508.3427892]。当纬度φ接近两极,即90°时,Y值趋向于无穷。由此普通把Y轴的取值范围也限制在[-20037508.3427892,20037508.3427892]以内。由此在墨卡托投影坐标系(米)下的坐标范围是:最小为(-20037508.3427892,
-20037508.3427892 )到最大 坐标为(20037508.3427892, 20037508.3427892)。

而写法上很古怪,他是利用说反话的格局,让对方讽刺自己,自己出去辩解,说自己平素不怨言,我那种待遇已经正确了。

二、地理坐标系(Geographical coordinates)

那篇小说在经济学史上有一种开拓的效率。后来,很多小说家都这么写过。

  地理经度的取值范围是[-180,180],纬度不容许到达90°,通过纬度取值范围为[20037508.3427892,20037508.3427892]反总计可获取纬度值为85.05112877980659。由此纬度取值范围是[-85.05112877980659,85.05112877980659]。因而,地理坐标系(经纬度)对应的范围是:最小地理坐标(-180,-85.05112877980659),最大地理坐标(180,
85.05112877980659)。

张曼倩还有一篇《非有先生》,谈何不难?谈是不易于的,然后写统治者不接受意见,刚愎自用。

这一时期,对子孙后代影响更大的另一篇抒愤之作是太史公的《报任安书》。文中叙述了她因李陵事件(被俘投降),就因谈了友好的想法,为李陵说了几句话,而受宫刑的进度,抒发了忠而见疑,无故受刑的沉痛,揭示了汉世宗专横残暴及当时的酷吏政治,末了又表述了祥和闲不住著书,创作《史记》的决心。

此文,直抒胸臆,长歌当哭,同时,浮现了作者顽强不挠的坚强意志和钢铁的搏击精神。给人以华贵的审美感觉。

三、地面分辨率(Ground Resolution)

除此以外,随着统治者大力提倡法家思想,也油然则生了一种高尚醇厚,坐而论道的儒者之文。表示作家就是董子(公元前179—公元前104年),他的最重要作品是天人三策。

  地面分辨率是以一个像素(pixel)代表的本地尺寸(米)。以微软Bing
Maps为例,当Level为1时,图片大小为512*512(4个Tile),那么赤道上空分辨率为:赤道周长/512。其余纬度的空中分辨率则为
纬度圈长度/512,极端的北极则为0。Level为2时,赤道的空间分辨率为
赤道周长/1024,其余纬度为 纬度圈长度1024。很扎眼,Ground
Resolution取决于多个参数,缩放级别Level和纬度latitude
,Level决定像素的多少,latitude决定地面距离的长短。

董子是用春秋公羊学派的见地来答复汉世宗。他倡导联合考虑,提倡独尊儒术,也展露当时的社会弊病,提倡改进。这种作品也是适应了立时的宫廷的需要而发生的,不过她又保留了小编那种独立的毅力,他要对皇帝进行劝戒和批判,那一个小说的风骨和明清此前的小说完全分裂,而是你一言我一语而谈,反复陈述。

专门是大方的引经据典。其中多量的讲天人反馈,来用阴阳五行分析自然和社会,这是立刻流行的有些见识。

比如说用灾异来比较社会人事,就是天的自然悲惨和很是现象,当时以董夫子表示的法家认为,天和人能相互影响,天可以降下灾异或祥瑞,来过问现实的政治,说现实中等,统治者怎么样治理天下治理得好,他有进献,天就降下祥瑞,什么地点出现青龙,哪个地方麦苗长出五棵麦穗,那是对统治者的夸奖。

统治者假诺干得不得了,就会有非凡现象出现,来警示她,彗星日食,再干的不佳,就会并发灾荒来惩罚他,地震山崩水旱的苦难。

那个事物都是越发迷信的,不过呢,出发点是为了干预现实政治,是打着西方的金字招牌,用上天的盛大,来胁迫现实中的统治者,告诉她们要奋斗,不要放纵自己。

地面分辨率的公式为,单位:米/像素:

《对策》一文中说:

ground resolution = (cos(latitude * pi/180) * 2 * pi * 6378137
meters) / (256 * 2level pixels)

臣谨案《春秋》之中,视前世已行之事,以观天人相与之际,甚可畏也。国家将有失道之败,而天乃先出魔难以谴告之,不知自省,又出怪异以警惧之,尚不知变,而伤败乃至。以此见天心之仁爱人君而欲止其乱也。自非大亡道之世者,天尽欲扶植而全安之,事在强勉而已矣。强勉学习,则闻见博而知益明;强勉行道,则德日起而大有功:此皆可使还至而有效者也。《诗》曰“夙夜匪解”,《书》云“茂哉茂哉!”皆强勉之谓也。

自身兢兢业业地听从《春秋》中的记载,考察前代早就做过的事务,来探究天和人相互成效的涉嫌,景况是很吓人的呦!国家将要暴发违反道德的堕落事情,那么天就降下磨难来谴责和唤醒它;若是不清楚醒悟,天又发出一些新奇的事来警示和惊吓它;还不明了悔改,那么伤害和败亡就会光顾。由此可以看到,天对人君是爱心的,希望援助人君消弥祸乱。假如不是老大无道的不可磨灭,天总是都想帮助和维系他,事情在于皇帝发奋努力罢了。发奋努力钻研学问,就见面闻广博使才智越发聪明;奋发努力行道,德行就会曰见名贵,而且越加成功,那个都是足以飞速获得,并且是可以便捷就有功能的。《诗经》上说:“从早到晚,不敢懈怠。”《大将军》中说:“努力呀!努力呀!”都是奋发向上努力的情致。

  最低地图放大级别(1级),地图是512 x
512像素。每下一个拓宽级别,地图的惊人和宽窄分别乘于2:2级是1024 x
1024像素,3级是2048 x 2048像素,4级是4096 x
4096像素,等等。平常而言,地图的升幅和高度可以由以下式子总括得到:map
width = map height = 256 * 2^level pixels

作者的角度是对统治者进行劝谏,但是那种劝谏是温柔婉转的,因为打着西方的崇高,用上天的显要来吓唬人,那种写法从董子开端,将来就逐步的成了汉代随笔的主流。那是明朝早期随笔写作的倾向。

四、地图比例尺(Map Scale)

南齐中期小说创作的层面从来继承到昭帝和宣帝时期。桓宽的《盐铁论》是宣帝时期一部首要小说,书中用“两刃相割”、“二论相订”的法门,相比合理的笔录了首相、里正大夫之徒和贤良工学互相诘难。

也就是说,墨家就批评当时政治上的害处,反映老百姓的疾苦,而里胥,左徒大夫那一边就分辨,双方的驳斥就这些的强烈,而且语言卓殊完美,文中多量的利用比喻。

  地图比例尺是指测量相同目标时,地图上偏离与事实上距离的百分比。通过地图分辨率在测算可知由Level可得到图片的像素大小,那么须求把其更换为以米为单位的相距,涉及到DPI(dot
per inch),暂时可清楚为接近的PPI(pixel per
inch),即每英寸代表有点个像素。256 * 2level / DPI
即得到相应的英寸inch,再把英寸inch除以0.0254转移为米。实地距离照旧是:cos(latitude
* pi/180) * 2 * pi * 6378137 meters; 由此比例尺的公式为:

10 金朝末年的阐发小说

map scale = 256 * 2level / screen dpi / 0.0254 / (cos(latitude *
pi/180) * 2 * pi * 6378137)

隋朝末年,道家思想占据了执政地位,政治日趋腐败漆黑,社会争持早先长远,外戚专权。由董子发轫的雍容典重,带有浓密的经学和神学气的文风在此极为盛行。

  比例尺= 1 : (cos(latitude * pi/180) * 2 * pi * 6378137 * screen
dpi) / (256 * 2level * 0.0254)

刘向(公元前79—公元前8年)是那种文风的优良代表。刘向写过很多奏书,对天皇加以劝谏,写的都是香甜淳厚,有一种匡救时弊的热忱,可是中间也讲阴阳灾异,他是借着向灾异抨击时弊,也引经据典,目标是向统治者敲警钟。

刘向之子刘歆在今文经学盛行之际大力提倡古文经学,遭到今理大学生的不予。他作了《移书让太常学士》一文,猛烈攻击今经济学士的腐烂和损公肥私。小说写得霸气犀利,义辩辞刚,带有一般若凌厉之气。

  地面分辨率和地图比例尺之间的关系:

自然,直到今日,还有好多个人在争议,今学和古学有如何高下之分。因为立场分歧,那也很难分出高下的。

map scale = 1 : ground resolution * screen dpi / 0.0254 meters/inch

汉朝前期的另一个紧要小说家是扬雄(公元前53—公元18年)。他为文善于模仿,曾仿《周易》作《太玄》,仿《论语》作《法言》都写的高贵古奥。他还仿照张曼倩《答客难》作《解嘲》。

扬雄是名家为主,不过又有道家的特性。此人志向很高,品行不错,学术有成就,不贪图名誉富贵,他对自己要求很高。

文中用主客问答的措施概述了北魏大一统条件下,天下之士“当途者入青云,失路者委沟渠,旦握权者为卿相,夕失势者为匹夫”的手头。那实际上是暴光了当时政治的黒暗。

缩放级别

地图宽度、高度(像素)

地面分辨率(米/像素)

地图比例尺(以96dpi为例)

1

512

78,271.5170

1 : 295,829,355.45

2

1,024

39,135.7585

1 : 147,914,677.73

3

2,048

19,567.8792

1 : 73,957,338.86

4

4,096

9,783.9396

1 : 36,978,669.43

5

8,192

4,891.9698

1 : 18,489,334.72

6

16,384

2,445.9849

1 : 9,244,667.36

7

32,768

1,222.9925

1 : 4,622,333.68

8

65,536

611.4962

1 : 2,311,166.84

9

131,072

305.7481

1 : 1,155,583.42

10

262,144

152.8741

1 : 577,791.71

11

524,288

76.4370

1 : 288,895.85

12

1,048,576

38.2185

1 : 144,447.93

13

2,097,152

19.1093

1 : 72,223.96

14

4,194,304

9.5546

1 : 36,111.98

15

8,388,608

4.7773

1 : 18,055.99

16

16,777,216

2.3887

1 : 9,028.00

17

33,554,432

1.1943

1 : 4,514.00

18

67,108,864

0.5972

1 : 2,257.00

19

134,217,728

0.2986

1 : 1,128.50

20

268,435,456

0.1493

1 : 564.25

21

536,870,912

0.0746

1 : 282.12

22

1,073,741,824

0.0373

1 : 141.06

23

2,147,483,648

0.0187

1 : 70.53

11 东晋最初的讲演小说

五、Bing Maps像素坐标系和地图图片编码

以此时期的经学有了一下新的性状,首先是统治者自己提倡,要求道家学习经典和拥君保皇结合起来,鼓励知识分子写举国同庆的篇章。

  为了优化地图系统特性,升高地图下载和出示速度,所有地图都被细分成256
x
256像素大小的正方形小块。由于在各类放大级别下的像素数量都差别,由此地图图片(Tile)的多寡也不等同。每个tile都有一个XY坐标值,从左上角的(0,
0)至右下角的(2^level–1,
2^level–1)。例如在3级放大级别下,所有tile的坐标值范围为(0, 0)至(7,
7),如下图:

汉肃宗就曾在班固面前批评史迁作《史记》“微文刺讥,贬损当世,非谊世也”;称扬司马长卿于病中“述颂功德”,作《封禅文》,则堪称“忠臣”,“贤迁远矣”。

地理 3

那其实,就是砥砺文人,文过饰非,拍政权的马屁,高唱赞歌。在那种文风的影响下,可想而之,马屁语言当然是风靡了。在那种条件下,真正流行的是所谓的谶纬,迷信和杂书。

  已知一个像素的XY坐标值时,大家很简单取得那个像素所在的Tile的XY坐标值:

本条时代的勇士有所成就的能够说除非王充。

tileX = floor(pixelX / 256) tileY = floor(pixelY / 256)

他的阐释文《论衡》以“显实诚”,“疾虚妄”的战斗精神,批判了立时的神学迷信,提议了广大宝贵的思索观点。其作品平易畅达,旁征博引,反复辩说,敢于分析百端,独抒己见,甚至“有所发啠,不避上圣”。

她批判那个虚妄不实的谈话,批评当时的谶纬。文风自由灵活,淋漓尽致。

  为了简化索引和存储地图图片,每个tile的二维XY值被转换成一维字串,即四叉树键值(quardtree
key,简称quadkey)。每个quadkey独立对应某个放大级别下的一个tile,并且它可以被作为数据库中B-tree索引值。为了将坐标值转换成quadkey,须要将Y和X坐标二进制值交错组合,并转换成4进制值及相应的字符串。例如,倘若在推广级别为3时,tile的XY坐标值为(3,5),quadkey计算如下:

12 西夏中期的阐释小说

tileX = 3 = 011(二进制)

南宋中期,外戚太监专权,政治腐败黒暗。广高校子中蓄积了更为多的忧虑和不满。像班固这种举国同庆之作再也写不下来了,揭发和鞭挞时弊的文章多了起来,这一时期现身了几部比较闻明的政随想专著。

tileY = 5 = 101(二进制)

这儿还有一对单篇的奏疏、书信和随想等,也都分歧水平的接触了时弊,批评了执政的外戚、太监。不少小说一反明朝中期那种雍容舒缓的文风,敢于直言谒论,还有骏发激切的特色。

如李庸等人在党锢之祸中下狱,陈蕃作《理李元礼等疏》,上疏营救,其中说:“臣闻贤明之君,委心辅佐;亡国之主,讳闻直辞。故汤武虽圣,而兴于伊、吕;桀纣迷惑,亡在失人”。

quadkey = 100111(二进制) = 213(四进制) = “213”

诸如此类的所作所为和祖龙焚书坑儒有怎么着两样?

Quadkey还有其余部分有趣的特征。第一,quadkey的长短等于该tile所对应的加大级别;第二,每个tile的quadkey的前几位和其父tile(上一放大级别所对应的tile)的quadkey相同,下图中,tile
2是tile 20至23的父tile,tile 13是tile 130至133的父级:

这一时期,上大夫激扬生气,砒硕名节,相互品评题核;还有些人以名家自居,蔑视权贵,敝履功名,愤世嫉俗。

地理 4

那种风气也对小说创作爆发了自然的震慑。如朱穆有一篇《与刘伯宗绝交书》。

昔我为丰令,足下不遭母忧乎?亲解缞绖,来入丰寺(汉朝称县衙为县寺)。及自身为侍书里胥,足下亲来入台。足下今为二千石,我下为郎,乃反因计吏以谒相与。足下岂丞尉之徒,我岂足下部民,欲以此谒为荣宠乎?咄!刘伯宗于仁义道,何其薄哉!”诗曰:“北山有鸱,不絜其翼。飞不正向,寝不定息。饥则木揽,饱则泥伏。睚眦贪污,臭腐是食。填肠满嗉,嗜欲无极。长鸣呼凤,谓凤无德。凤之所趣,与子异域。永从此诀,各自努力!

南陈时期的小说中一度出了尊敬骈偶和辞藻的协理,到了此期,那种帮助则更为非凡。不少小说饱含较多的对偶句,辞藻华美,音韵铿锵,起首具备了骈体文的特点,如仲长统的《乐志论》。

使居有良田骈宅,背山临流,沟池环匝,竹木周布,场圃筑前,果园树后,舟车可以代步涉之难,使令足以息四体之役,养亲有兼珍之膳,妻孥无苦身之劳,良朋萃止,则陈酒肴以娱之,嘉时吉日,则烹羔豚以奉之,蹰躇畦苑,游戏平林,濯清水,追凉风,钓游鲤,弋高鸿,讽于舞雩之下,咏归高堂之上,安神闺房,思老氏之玄虚,呼吸精和,求至人之类似,与达者数子,论道讲书,俯仰二仪,错综人物,弹北风之雅操,发清商之妙曲,逍遥一世之上,睥睨天地之间,不受当时之责,永保性命之期,如是则可以陵霄汉,出宇宙之外矣,岂羡夫入天子之门哉!

  最终,quadkey提供的一维索引值日常彰显了七个tile在XY坐标系中的相似性。换句话说,七个相邻的tile对应的quadkey非凡相近。那对于优化数据库的习性特别关键,因为隔壁的tile平时被同时伸手显示,因而可以将这一个tile存放在同等的磁盘区域中,以减小磁盘的读取次数。

  上边是微软Bing Maps的TileSystem相关算法:

 

using System;

using System.Text;

namespace Microsoft.MapPoint

{

    static class TileSystem

    {

        private const double EarthRadius = 6378137;

        private const double MinLatitude = -85.05112878;

        private const double MaxLatitude = 85.05112878;

        private const double MinLongitude = -180;

        private const double MaxLongitude = 180;

        /// <summary>

        /// Clips a number to the specified minimum and maximum values.

        /// </summary>

        /// <param name="n">The number to clip.</param>

        /// <param name="minValue">Minimum allowable value.</param>

        /// <param name="maxValue">Maximum allowable value.</param>

        /// <returns>The clipped value.</returns>

        private static double Clip(double n, double minValue, double maxValue)

        {

            return Math.Min(Math.Max(n, minValue), maxValue);

        }

        /// <summary>

        ///Determines the map width and height (in pixels) at a specified level

        /// of detail.

        /// </summary>

        /// <param name="levelOfDetail">Level of detail, from 1 (lowest detail)

        /// to 23 (highest detail).</param>

        /// <returns>The map width and height in pixels.</returns>

        public static uint MapSize(intlevelOfDetail)

        {

            return (uint) 256 << levelOfDetail;

        }

        /// <summary>

        ///Determines the ground resolution (in meters per pixel) at a specified

        /// latitude and level of detail.

        /// </summary>

        /// <param name="latitude">Latitude (in degrees) at which to measure the

        /// ground resolution.</param>

        /// <param name="levelOfDetail">Level of detail, from 1 (lowest detail)

        /// to 23 (highest detail).</param>

        /// <returns>The ground resolution, in meters per pixel.</returns>

        public static double GroundResolution(double latitude, int levelOfDetail)

        {

            latitude = Clip(latitude, MinLatitude, MaxLatitude);

            return Math.Cos(latitude * Math.PI / 180) * 2 * Math.PI * EarthRadius / MapSize(levelOfDetail);

        }

        /// <summary>

        ///Determines the map scale at a specified latitude, level of detail,

        /// and screen resolution.

        /// </summary>

        /// <param name="latitude">Latitude (in degrees) at which to measure the

        /// map scale.</param>

        /// <param name="levelOfDetail">Level of detail, from 1 (lowest detail)

        /// to 23 (highest detail).</param>

        /// <param name="screenDpi">Resolution of the screen, in dots per inch.</param>

        /// <returns>The map scale, expressed as the denominator N of the ratio 1 : N.</returns>

        public static double MapScale(double latitude, int levelOfDetail, intscreenDpi)

        {

            return GroundResolution(latitude, levelOfDetail) * screenDpi / 0.0254;

        }

        /// <summary>

        /// Converts a point from latitude/longitude WGS-84 coordinates (in degrees)

        /// into pixel XY coordinates at a specified level of detail.

        /// </summary>

        /// <param name="latitude">Latitude of the point, in degrees.</param>

        /// <param name="longitude">Longitude of the point, in degrees.</param>

        /// <param name="levelOfDetail">Level of detail, from 1 (lowest detail)

        /// to 23 (highest detail).</param>

        /// <param name="pixelX">Output parameter receiving the X coordinate in pixels.</param>

        /// <param name="pixelY">Output parameter receiving the Y coordinate in pixels.</param>

        public static void LatLongToPixelXY(double latitude, double longitude, intlevelOfDetail, out int pixelX, out int pixelY)

        {

            latitude = Clip(latitude, MinLatitude, MaxLatitude);

            longitude = Clip(longitude, MinLongitude, MaxLongitude);

            double x = (longitude + 180) / 360; 

            double sinLatitude = Math.Sin(latitude * Math.PI / 180);

            double y = 0.5 - Math.Log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI);

            uint mapSize = MapSize(levelOfDetail);

            pixelX = (int) Clip(x * mapSize + 0.5, 0, mapSize - 1);

            pixelY = (int) Clip(y * mapSize + 0.5, 0, mapSize - 1);

        }

        /// <summary>

        /// Converts a pixel from pixel XY coordinates at a specified level of detail

        /// into latitude/longitude WGS-84 coordinates (in degrees).

        /// </summary>

        /// <param name="pixelX">X coordinate of the point, in pixels.</param>

        /// <param name="pixelY">Y coordinates of the point, in pixels.</param>

        /// <param name="levelOfDetail">Level of detail, from 1 (lowest detail)

        /// to 23 (highest detail).</param>

        /// <param name="latitude">Output parameter receiving the latitude in degrees.</param>

        /// <param name="longitude">Output parameter receiving the longitude in degrees.</param>

        public static void PixelXYToLatLong(int pixelX, int pixelY, intlevelOfDetail, out double latitude, out double longitude)

        {

            double mapSize = MapSize(levelOfDetail);

            double x = (Clip(pixelX, 0, mapSize - 1) / mapSize) - 0.5;

            double y = 0.5 - (Clip(pixelY, 0, mapSize - 1) / mapSize);

            latitude = 90 - 360 * Math.Atan(Math.Exp(-y * 2 * Math.PI)) / Math.PI;

            longitude = 360 * x;

        }

        /// <summary>

        /// Converts pixel XY coordinates into tile XY coordinates of the tile containing

        /// the specified pixel.

        /// </summary>

        /// <param name="pixelX">Pixel X coordinate.</param>

        /// <param name="pixelY">Pixel Y coordinate.</param>

        /// <param name="tileX">Output parameter receiving the tile X coordinate.</param>

        /// <param name="tileY">Output parameter receiving the tile Y coordinate.</param>

        public static void PixelXYToTileXY(int pixelX, int pixelY, out int tileX, out int tileY)

        {

            tileX = pixelX / 256;

            tileY = pixelY / 256;

        }

        /// <summary>

        /// Converts tile XY coordinates into pixel XY coordinates of the upper-left pixel

        /// of the specified tile.

        /// </summary>

        /// <param name="tileX">Tile X coordinate.</param>

        /// <param name="tileY">Tile Y coordinate.</param>

        /// <param name="pixelX">Output parameter receiving the pixel X coordinate.</param>

        /// <param name="pixelY">Output parameter receiving the pixel Y coordinate.</param>

        public static void TileXYToPixelXY(int tileX, int tileY, out int pixelX, out int pixelY)

        {

            pixelX = tileX * 256;

            pixelY = tileY * 256;

        }

        /// <summary>

        /// Converts tile XY coordinates into a QuadKey at a specified level of detail.

        /// </summary>

        /// <param name="tileX">Tile X coordinate.</param>

        /// <param name="tileY">Tile Y coordinate.</param>

        /// <param name="levelOfDetail">Level of detail, from 1 (lowest detail)

        /// to 23 (highest detail).</param>

        /// <returns>A string containing the QuadKey.</returns>

        public static string TileXYToQuadKey(int tileX, int tileY, intlevelOfDetail)

        {

            StringBuilder quadKey = newStringBuilder();

            for (int i = levelOfDetail; i > 0; i--)

            {

                char digit = '0';

                int mask = 1 << (i - 1);

                if ((tileX & mask) != 0)

                {

                    digit++;

                }

                if ((tileY & mask) != 0)

                {

                    digit++;

                    digit++;

                }

                quadKey.Append(digit);

            }

            return quadKey.ToString();

        }

        /// <summary>

        /// Converts a QuadKey into tile XY coordinates.

        /// </summary>

        /// <param name="quadKey">QuadKey of the tile.</param>

        /// <param name="tileX">Output parameter receiving the tile X coordinate.</param>

        /// <param name="tileY">Output parameter receiving the tile Y coordinate.</param>

        /// <param name="levelOfDetail">Output parameter receiving the level of detail.</param>

        public static void QuadKeyToTileXY(string quadKey, out int tileX, out int tileY, out intlevelOfDetail)

        {

            tileX = tileY = 0;

            levelOfDetail = quadKey.Length;

            for (int i = levelOfDetail; i > 0; i--)

            {

                int mask = 1 << (i - 1);

                switch (quadKey[levelOfDetail - i])

                {

                    case '0':

                        break;

                    case '1':

                        tileX |= mask;

                        break;

                    case '2':

                        tileY |= mask;

                        break;

                    case '3':

                        tileX |= mask;

                        tileY |= mask;

                        break;

                    default:

                        throw new ArgumentException("Invalid QuadKey digit sequence.");

                }

            }

        }

    }

}

 


当大家在用arcgis server
构建切片时,大家会发觉在缓存生成的conf.xml中有如此的一对:

地理 5

在上述部分中<LODInfo>代表了每一流切片的音信,<LevelID>代表切片的级数。

在此地,<Scale>代表比例尺。比例尺是代表图上相差比实地偏离收缩的品位,也叫缩尺。公式为:比例尺=图上偏离/实地距离。用数字的比例式或分数式表示比例尺的高低。例如地图上1厘米代表实地距离500公里,可写成:1∶50,000,000或写成:1/50,000,000。

  <Resolution>,代表分辨率。Resolution
的骨子里意义代表当前地图范围内,1像素代表有些地图单位(X地图单位/像素),地图单位取决于数量我的上空参考。

当大家在进展Web
API的支付时,经常会遇见依据Resolution来缩放地图的情况。但是实际要求中大家更需求基于Scale来缩放,由此就涉嫌到Scale和Resolution的转移。

Resolution和Scale的转换算法:

Resolution跟dpi有关,跟地图的单位有关。(dpi代表每英寸的像素数)

  Resolution和Scale的更换算法

举例:

案例一:若是地图的坐标单位是米, dpi为96

           1英寸= 2.54厘米;

           1英寸=96像素;

末尾换算的单位是米;

如若当前地图比例尺为1: 125000000,则代表图上1米实地125000000米;

米和像素间的折算公式:

           1英寸=0.0254米=96像素

           1像素=0.0254/96 米

则根据1:125000000比例尺,图上1像素代表实地距离是125000000*0.0254/96 =
33072.9166666667米。大家这一个换算结果和切片的结果略微有0.07米的误差。这几个误差发生的来由是英寸换算毫米的参数决定的,server使用的折算参数1英寸相当于0.0254000508米。

案例二:假设地理坐标系是wgs84,地图的单位是度,dpi为96

           Server高度和米以内的折算参数:

             1度相当于 111194.872221777米

接下去就须要举行度和像素间的折算:

当比例尺为1:64000000米时,相当于1像素 = 64000000*0.0254000508/96 =
16933.3672米

再将米转换为度 16933.3672/111194.872221777 = 0.1522855043731385度

之所以地方图单位为度时,近似计算在1:64000000
对应的Resolution为0.1522855043731385度

阐明结果:

地理 6


double resolution = scale * 0.0254000508/96/111194.872221777;

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图