代码与文章

立博记事,以博会友,我帮我乐 -- 关注互联网,NGO以及技术改变的生活

 
 
 
 
 
 

Mapbar基本算法

2009-7-5 14:37:40 阅读(26) 评论(0)

抄自:http://www.boboking.com/!bbs/viewthread.php?action=printable&tid=623 不知道可以不可以做一个Mapbar的MapType呢!

http://img3.mapbar.com/maplite/mapbank/baidu/12/453_115/3_31.png

http://img2.mapbar.com/maplite/mapbank/baidu/12/453_115/3_32.png
http://img.mapbar.com/maplite/mapbank/baidu/12/453_115/4_32.png
http://img1.mapbar.com/maplite/mapbank/baidu/12/453_115/0_29.png


因为我当初是用在PHP下的,所以用了php表示算法,基本差不多,应该看得懂:
基础网址:"http://img.mapbar.com/maplite/mapbank/baidu/"

每层地图切片存放在文件夹名称:
$levelstr=array("W","0","1","2","3","4","5","6","7","8","9","10","11","12","15");
即第0层地图切片放在"http://img.mapbar.com/maplite/mapbank/baidu/W/" 下

每层地图切片所跨的经度数(纬度跨度需要*0.8这个系数):
$clipnum=array(90,40,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01,0.005,0.002);
如第1层的每切片跨经度是90度,跨纬度是90*0.8=72度。即如经度-180~180,共360度,东西半球各需要180/90=2块切片,mapbar的每切片像素为300x300,所以完整地图长度像素应是300*4=1200像素。纬度是-90~90,共180度,南北半球各需要90/72=1.25,需要取大于此数的最小整数即2,所以南北半球加起来仍需要4块,而不是180/72=2.5取整后的3块。从中间0度赤道向两边平铺的,因此上下两块各有3/4块区域留有空白。

哈哈,有点缺乏耐心啦,将就着结合一小段程序来理解吧

//每层的最大横向像素数(除以2得到是纵向最大像素)
function MaxPixel($zoom){
        return 256*pow(2,$zoom+2);
}

//经度换算
function PixelToLng($x,$zoom){
        $c= MaxPixel($zoom);
        return ($x - $c / 2) / ($c / 360);
}
function LngToPixel($lng,$zoom){
        $c= MaxPixel($zoom);
        return (int)($c / 2 + $lng * $c / 360 + 0.5);
}

//纬度换算
function PixelToLat($y,$zoom){
        $c= MaxPixel($zoom);
        $g = ($y - $c / 2) / (-$c / (2 * M_PI));
        return (2 * Atan(Exp($g)) - M_PI / 2) / (M_PI / 180);
}
function LatToPixel($lat,$zoom){
        $c= MaxPixel($zoom);
        $f = Sin($lat * (M_PI / 180));
        return (int)($c / 2 + 0.5 * Log((1 + $f) / (1 - $f)) * -$c / (2 * M_PI) + 0.5);
}

$blocksize=array(10,10,10,10,10,10,10,10,10,10,50,50,50,50,50);

//$para['ClipXNo']是横向切片序号,注意这个序号不是从0开始的
//横向切片序号运算公式,已知经度是$para['x1']计算所在切片序号:$para['ClipXNo']=floor($para['x1']/$clipnum[$level]);
//纵向切片序号运算公司,已知纬度是$para['y1']计算所在切片序号:$para['ClipYNo']=floor($para['y1']/($clipnum[$level]*0.8));
//所以倒如第一层第一块切片(经纬度分别为-180,90所在的切片)的序号是$para['ClipXNo']=floor(-180/90)=-2;$para['ClipYNo']=floor(90/72)=2;

$para['FolderXNo']=(int)floor($para['ClipXNo']/$blocksize[$level]);//切片分文件夹存放位置
$para['FolderYNo']=(int)floor($para['ClipYNo']/$blocksize[$level]);

if($para['FolderXNo']<0){
        $para['FolderXNo']++;
}
if($para['FolderYNo']<0){
        $para['FolderYNo']++;
}
//计算文件序号
$para['FileXNo']=$para['ClipXNo']-$para['FolderXNo']*$blocksize[$level];
$para['FileYNo']=$para['ClipYNo']-$para['FolderYNo']*$blocksize[$level];

//计算出完整切片位置
$para['url']="http://img.mapbar.com/maplite/mapbank/baidu/".$levelstr[$level]."/".$para['FolderXNo']."_".$para['FolderYNo']."/".$para['FileXNo']."_".$para['FileYNo'].".png";

阅读(26) | 评论(0) | 阅读全文>>

利用Google Map API做了几个自定义的MapType

2009-7-5 10:20:22 阅读(54) 评论(2)

         昨天下午睡了几个小时,睡完还是困,想到打机是解困的最好方法,于是和朋友打爆了水之TD。终于精神起来,看看Google Map API的资料,发现有个自定义MapType的链接,点过去居然打不开,在Google上搜了一下,终于找到原文,于是按照着写了一下自定义的MapType。效果如下:

 

请点击查看影音文件...
 

但是发现g.cn的卫星图上面的和地图对不起来,不知道它原本是怎么处理这个偏移的呢,真郁闷!

 

 

阅读(54) | 评论(2) | 阅读全文>>

Adobe的一些纪念品

2009-7-1 22:43:11 阅读(11) 评论(2)

        已经收到了很久,但一直放在一边,今天突然想起,拆开来看看,原来就是三本硬皮抄和几叠贴纸以及两袋签字笔。呵呵,谢谢Adobe,下次开会有纪念品了。

 

Adobe的一些纪念品 - 天地一雀雀 - 我帮网开发博客

阅读(11) | 评论(2) | 阅读全文>>

开放匿名上传FTP

2009-7-1 16:07:44 阅读(38) 评论(1)

FTP链接:ftp://www.cnflex.org

用户名:anonymous@cnflex.org  密码为空

方便大家上传文件进行交流

在window下面输入样例:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Dell>ftp www.cnflex.org
Connected to cnflex.org.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 6 of 50 allowed.
220-Local time is now 02:14. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
User (cnflex.org:(none)): anonymous@cnflex.org
331 User anonymous@cnflex.org OK. Password required
Password:
230-User anonymous@cnflex.org has group access to:  nobody
230-OK. Current restricted directory is /
230 welcome to cnflex.org, please dont upload the illegal files. FTP is for file
 FLEX study material sharing
ftp>

 

 

阅读(38) | 评论(1) | 阅读全文>>

SVN命令备查

2009-6-30 17:08:51 阅读(4) 评论(0)

 

1.创建代码仓库

svnadmin create abcproject

 

2.导入目录bbs到某个代码仓库目录

svn import -m "init import" bbs file:///$HOME/svnroot/abcproject/trunk

3. 创建忽略列表

svn propset svn:ignore "*" log
svn propset svn:ignore "*" tmp
svn propset svn:ignore "*" cache
svn propset svn:ignore "*" sessions

4. 提交变更

svn ci -m "Ignoring tmp files from log, tmp, cache, sessions"

 5. 循环删除.svn目录

rm -rf `find . -type d -name .svn`

6. 本机检出项目

svn co file://$HOME/svnroot/caogov/trunk/www www

 

 

阅读(4) | 评论(0) | 阅读全文>>

申请了一个国外的空间

2009-6-27 1:08:46 阅读(9) 评论(0)

      让审查和报备见鬼去吧!

阅读(9) | 评论(0) | 阅读全文>>

让我们记住这个日子

2009-6-19 11:35:35 阅读(1) 评论(0)

我想说的别人已经说了,原文引自,

http://blog.donews.com/keso/archive/2009/06/02/1506147.aspx

我们会记住这个日子,2009年6月2日,微软刚刚发布的Bing.com,以及Live.com、Twitter.com、Flickr.com等等一大批优秀的境外网站,同时被GFW屏蔽。在中国,那个被称为互联网的东西,正在变成全世界最大的局域网。

没人知道谁下令屏蔽,没人知道屏蔽的根据是什么,没人知道屏蔽一个网站要经过何种程序,没人知道下一个被屏蔽的会是哪个网站,更没人知道如何申诉,如何解除屏蔽。GFW完全是一个黑箱。

#FuckGFW这个短语,在短短一两个小时内,就排到了Twitter热门话题的第二位。中国网民无比痛恨这个用我们自己的血汗钱建造的,专门用来禁锢我们自己的GFW。请记住,我们很愤怒。

我们不是孟姜女,我们没有那么多眼泪来哭倒这座长城。但是,我们会记仇,就像那些在全世界追捕漏网纳粹分子的犹太人一样,记仇。

2009年6月2日,这个日子如此黑暗,我喘不上气来。Fuck the GFW!

 

 

阅读(1) | 评论(0) | 阅读全文>>

今天把头像更新了一下

2009-5-5 17:03:47 阅读(5) 评论(0)

      这几天公司要每人都提交一份规定格式的简历,于是就找了一下有什么适合贴上简历上的照片。后来想想很多朋友说现在blog上的头像不好看,太YD了,于是就改了一下,希望大家喜欢!

阅读(5) | 评论(0) | 阅读全文>>

小记4月26号的用户组会议

2009-4-28 8:55:26 阅读(230) 评论(14)

        4月26日是个好日子,Flex广州用户组的会议在各位朋友的帮助下顺利举行,在这里再一次感谢广力培训中心的姜老师提供会议场地,不是衰人赞助的饮料(恩,我证明你是个好人),奥比岛以及清华大学出版社提供的礼品公仔和书籍。当然也少不了我们的最大惊喜,flash8的站长古墓大哥的到场,以及赞助的晚上的大鱼大肉 :),有了你们的支持,我们的活动相信可以一次比一次办得更加成功,更有声色!再次对大家的光临表示感谢!

         会议资料将会通过邮件发到登记了的各位邮箱里面,包括会议的通信录 (可能涉及个人隐私,所以手机部分删除了) ,附件比较大,所以通过QQ的超大文件中转站来发布。

         大家对这次会议有什么意见和对以后的会议有何建议,都欢迎在此提出!

         在线视频请点击这里  感谢DarkStone的上传

 

                             

阅读(230) | 评论(14) | 阅读全文>>

广州Flex用户组2009年4月技术会议召集中

2009-3-18 0:04:55 阅读(478) 评论(8)

春暖花开,我们是时候聚聚讨论一下新的技术与市场了,让我们再次相逢在广州

大家可以把对这次活动的期望写上来哦

也欢迎各个公司提供活动赞助或纪念品

 

暂定安排如下:

时间:2009年4月26日 星期天 下午2点-5点

地点:广州市越秀区连新路171号广东国际科技中心首层北大青鸟(纪念堂西地铁纪念堂站D2出口直达)

0. 参会成员自我介绍

1. aswing2.0介绍 -- iiley

2. cocomo介绍 -- Silver

3. Flash Player10新特性介绍 -- 小一

4. Punch Party -- 7 minutes demo your works(creative works, recent projects, good idea, wonderful blog....)

更多精彩欢迎你前来分享

请在这里报名:

可以选择现场参加或者网上参与

点击报名链接

 

赞助商链接:

北大青鸟广力培训中心

东莞市钜讯网络技术有限公司

奥比岛

清华大学出版社

 

阅读(478) | 评论(8) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

 天地一雀雀

广东省 广州市 天蝎座

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

心情随笔

 
 
心情随笔列表加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 
 
日志评论
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 

日历

 
 
模块内容加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2009