socketref,再见!高德

https://github.com/adoggie

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用链接

留言簿(54)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

#

如题
posted @ 2009-08-29 15:22 放屁阿狗 阅读(1710) | 评论 (0)编辑 收藏

由于ms的服务器的响应效率,所以经常将帖子贴于cppblog和hotmail space
出去吃了碗馄饨,回来的路上在考虑如何重写客户端的缓冲算法,来改善目前客户端地图交互的流畅性,如openlayers或者google map
突然想到,google的交互感很好,其地图访问tile返回异常的快速,相同的大家都是绘制矢量数据,为何他是这么的快呢?
想来想去,想到了google定是后端服务器事先绘制好了全球所有的不同层级显示的地理网格块,存入服务,当客户访问时便快速取出返回,
我也想预先画好,然而我可没google的财力来存储这么多的数据

posted @ 2009-08-27 01:08 放屁阿狗 阅读(156) | 评论 (0)编辑 收藏

准备放弃以前项目使用的地图引擎库和Gis代码到现在已经有了2个月了
现在swMap能做基本demo一丁点的功能了,访问: www.sw2us.com/maps.php 或者 http://220.196.42.107/main.php
当初考虑到放弃之前的东西考虑的问题有很多,当然有公司的知识产权问题,最主要的是之前的产品技术实在是设计的有点糟糕。做开发的知道看别人的代码并且在这基础上去发扬光大这时间很头大和痛苦的事情,特别是碰到那些原本就是比较封闭和差劲的东西。
凭借自己的的很多想法开始开发swMap项目,以前的东西都抛弃没有做参考,从原始地图加工设计、地图渲染服务器开发、然后就是基于Pc和Wince的客户端开发,支持本地和远程加载地图的方式,重新设计的数据存储方式除了保留简单的网格存储和搜寻,已经把地图数据进行省份的分割,而不像以前必须加载单独的一个全国地图数据包;地图网格也设计成了多网格大小形式,以便支持同一个地图文件中任意多的缩放比和地图层。
开发总是很辛苦,每天都是要做到夜深人静
学习了很多东西,思考了很多东西,反复的也有很多,最终还是凭借自己比较宽的知识面,运用了很多opensource的技术,时间和效率当然是非常重要的,所以没有自己去重新实现一些基础的东西,比如matrix就是从cairo库中直接抄过来的。
在用c++开发地图服务器和客户端时候也考虑了不同的通信方式和操作系统环境,尽可能的可以支持更多的运行环境。
原本计划在昨晚wince版本之后马上支持symbian操作系统,但对symbian的开发研究了之后让我大失所望,其开发是非常低效的且通用性能太差,后来网上得知nokia马上将抛弃symbian而怀抱linux了,这令我我马上考虑了移植linux的想法
很多人跟我提到静态网页地图方式,当然我不能做到像google,openlayers这么强的客户端端,也没精力去支持ogc那么的gis协议在地图服务器上,所以能演示基础的地图功能开发了php的展示端。
flex和sliverlight都是非常好的技术,但对于ms一直没有好感,所以flex形成了我选择另一个展示客户端的想法。
网上下了一堆的flex数据,前后从接触actionscript到做好swFlex客户端一共花了3天时间,发觉越来越喜欢这个东西了,看来以后的前端开发要全换成flex平台了。
目前做得swMap的功能非常有限,地图处理也是很简单,甚至连文本标注都没有添加,只是提供了25个图层16级别缩放比在客户端展示。
我想待我有时间,我将这些都会完善起来
原本很多带开发的技术也没有去做,比如agg,地图4叉树、RTree,A*路由算法
朋友给我的几个Gps模块设备这几天要调通并放置到地图上去

posted @ 2009-08-21 03:27 放屁阿狗 阅读(1543) | 评论 (2)编辑 收藏

配置php_ice折腾了好阵子
先是不知道php_ice.dll原来在Ice-3.2.1-VC60.msi里面有,所以忙着去下载php5.2.10源代码和php二进制程序,通过icePhp的编译README编译出了php_ice.dll,放到php/ext下,重启apache失败。
拷贝如下文件:
bzip2.dll
icecpp.exe
ice32.dll
iceutil32.dll
msvcp60.dll
msvcrt.dll
slice32.dll
stlport_vc646.dll
最好将这些文件也拷贝到 apache/bin目录下(apache_2.2.9-win32-x86-no_ssl-r2.msi)

Ice工程师告知Ice-3.2.1-VC60.msi的php_ice.dll是在php-5.2.1-Win32编译出来的,所以最好使用php-5.2.1-Win32.zip版本

http.conf配置:
==============
PHPIniDir "c:/php-5.2.1-Win32/"
LoadFile c:/php-5.2.1-Win32/php5ts.dll
LoadFile c:/php-5.2.1-Win32/libmysql.dll 
LoadFile c:/php-5.2.1-Win32/ntwdblib.dll
LoadModule php5_module "c:/php-5.2.1-Win32/php5apache2_2.dll"
AddType application/x-httpd-php .php

php.ini
=============
extension_dir = "C:\php-5.2.1-Win32\ext"
extension=php_ice.dll
ice.slice=E:/map_build/swmap2/idl/mapserver.ice
display_startup_errors=1


icecpp.exe拷贝到 windows目录下

未解决问题:
===============
在ice接口定义中声明了对外部ice文件的引用:
#include <Ice/Identity.ice>

但在启动apache时产生如下apache错误,导致apache无法启动:
E:/map_build/swmap2/idl/mapserver.ice:12: No include path in which to find Ice/Identity.ice
PHP Fatal error:  Unable to start ice module in Unknown on line 0

目前无法解决此问题,幸好目前没有使用到Identity.ice





posted @ 2009-08-19 00:07 放屁阿狗 阅读(1060) | 评论 (0)编辑 收藏

正在我对SOAP、WSDL、Flex::WebService绝望的时候,找到了AMFPHP,神啊,太谢谢了,花了半个小时就学会了这个玩意儿,Remoting Call这么的简单了,哈哈!
posted @ 2009-08-17 22:36 放屁阿狗 阅读(357) | 评论 (0)编辑 收藏

采用Flex开发地图展示前端基本上采用了Flex+Soap+Php+swMap Server的方式。 Flex在现实地图时采用WebService部件,发送Soap请求道Php服务器,php作为Ice的客户端向swMap服务器请求地理区块,然后返回到Flex客户端。
解决方式既然定了接着就是如何去实现其中的细节问题,到现在Flex搞了几乎近一天,Php联系soap的调用方式已经成功,soap/wsdl协议到现在还不是非常的清晰,知道了wsdl采用zend studio来自动生成,但是到现在还无法搞成Flex与PHp soap server的调用成功,非常的沮丧。
看了几本Flex的书籍,Flex与外部接口系统通信的方式就这么几种Rpc: Remote Object CodeFusion,Soap,Web http等等,要么就是原始的socket,codefusion原本就是micromedia的服务器端开发语言,还要去摸这些东西,似乎自己走上了歧途。
还是再努力一下flex与php soap server的通信吧!

posted @ 2009-08-17 21:06 放屁阿狗 阅读(389) | 评论 (1)编辑 收藏

在考虑用Flex做地图前端时,遇到了如何通信的问题,与地图服务器交互基础性能和速度的考虑二进制传输是最佳的方式,但二进制的问题在于扩展能力太弱了,修改一个协议必须大动周章。
发现Flex提供了Rpc.Soap,Wsdl的客户端服务功能,所以好好琢磨了一下这两个协议
SOAP,WSDL以前断断续续也接触过一些,一直没有好好利用过,以前做php做Rpc时采用的是xmlRpc协议,记得在sf上还有个s-xmlrpc来简化tag实现低数据量的功能。Flex当然不能使用类似Ice和Ace之类的通信框架,但也提供了Socket工具,但不知当发布运行在浏览器是是否出于安全的限制而无法直接使用socket连接功能?java的applet好像也是运行在sandbox之内,限制多多。
也许Flex只能类似Ajax走http这条道了,单向连接,数据量大,各种xml传输协议,这些够烦恼一阵子的
soap,wsdl看了以后发觉是这么的简单,前者是数据通信协议,后者是服务发现协议,客户端可以通过发送wsdl来查询服务器的服务能力,从而采用soap进行数据通信,这些繁琐是繁琐了一些,但毕竟是w3c的标准,在没有xmlRpc的情况下,也只好采用soap了
先把功能架设起来,等有时间了尝试一下在Flex里面直接采用socket与地图服务器进行交互,应该可以吧,至少flv都是从专用流媒体服务端口传输到本地的。
考虑到私有网络的各种差异,走http可能是唯一的出路了,不然给gateway拦下来了就不好喽!!
flex也是个新手,花时间琢磨这个东东

posted @ 2009-08-17 00:47 放屁阿狗 阅读(1580) | 评论 (0)编辑 收藏

对WebGis进行了简单的了解和琢磨,Google 和OpenLayers还是目前的主流方式
Google的地图体现了出了行业老大的专业,地图渲染和前端控制做得没法说
OpenLayers显得更加灵活,可以采用Google map,或者选择Mapserver、GeoServer来搭建自己的地图处理服务器,当然技术难度和投入成本也是相当的高,效果定是没有前者要来的好,不过要强调的就是灵活。
采用Openlayers方式应该是一个长久发展的Gis公司选择的唯一方式。Google Api很多限制使我对其产生了厌恶,使我无法信任其能如其所言能一直免费下去,太多的开发license限制导致无法商用,说白了要提供完全服务就是拿钱来,不爽!
Google Api对于非商业使用的唯一的好处就是做做公司网站的位置宣传,其他的就是完全就是为了推广google map而形式的存在。
Google 讲到功能远远大于Openlayers方式,但这不能迷糊了广大的开发者,这完全是笼罩在商业利益的阴影之下
Google和ERSI都推出了flex的开发sdk来实现客户端的地图接口,我很欣赏
谈到GeoServer,其能支持那么多的数据存储形态我比较支持和喜欢,输出也是非常的丰富,但其真正的效率呢?用j2ee架构起来的性能定是好不到哪里去
看 看那些配置GeoServer的Gis服务器想想也是可怕,集群、Oracle SDE,这些都是些啥概念。用了Postgis近1年,其采用goes做geomerty的运算引擎,效率也是不太理想。oracle sde也许会强很多,但商业公司的东西性价比能好到哪里去呢
对于某些小规模的Gis应用需求想想还是本土化自己写地图引擎算了。某些应用在封闭式 的网络环境之中,google和internet就靠不住了;还有一些特殊行业的Gis应用也许仅仅限制在某一个城镇的水利、管线等应用,处理的数据直接 就是从Cad导出的地理数据,数据的大小和应用需求也决定了必须采用不同的方案,要么自己开发的地理渲染处理,或者用 geoserver这一类的东西。
自 己在合众思壮的上海研发公司呆了1年多,公司有个Gis部门,成立了4,5年,也做了一款导航引擎,但是其技术陈旧、架构的不合理已经被众多的小公司甩在 了后面,但还如个宝贝一样藏着揣着。想做移植到linux也无法做,地图组加上引擎组,人员20多号人没干出什么东西出来,稍微有点想法的人员出来跑别的 地方打工去了。
本来我也对这个有点兴趣,第二年公司重组部门,我申请去Gis部门,老板还以为我要搞点啥花头什么的不让去,干脆不干了。
现 在对于swMap这个产品我已经开发了2个月,已经完成了地图预处理、地图显示,支持win32和mobile,系统架构支持本地地图和服务器渲染两种方 式。借鉴了很多opensource的东西,诸如Qgis,SAGA,NaviRoad,Geos,wxArt2D,Mapserver、ogr、 cairo、libsvgr,agg等有名的gis软件项目,这么久了还是有很多东西要学习的,想想公司真是可笑,搞技术封闭只有是死路,连sun都 opensource了操作系统。幸亏自己的努力才能做了这么多东西
写着写着就跑题了,累了,不写了,还是继续开发自己的产品去
posted @ 2009-08-16 00:33 放屁阿狗 阅读(1511) | 评论 (5)编辑 收藏

wxWidgets的过于native和功能匮乏及稳定性一直被人所诟病。
采用wx做过一定规模的大侠有时深深的有这种痛苦,贴图也困扰了我好长时间,特别是缩放贴图,简直异常的痛苦。
sf.net的wxSkin也是过于的呆滞,且缺乏维护,时常挽着QT的demo而流口水到半夜,告诉自己一定以后要用QT,特别是有了QT WINCE版本,加上nokia现在是QT的老爸。继续使用wx只有期盼3.0的推出了,可视其如老娘们生孩子,动作实在是太慢了,等我有钱了,我来做wx的老爸就好了,呵呵!

还是迫于项目的压力,没办法自己在wxSkin的基础上添加了伸缩贴图的功能,自己实现了所有的wxSkin的功能


posted @ 2009-08-06 01:40 放屁阿狗 阅读(1419) | 评论 (1)编辑 收藏


处理了上海数据,图为上海的道路和区域数据


上图为旋转45度的上海地貌图

接下来的计划便是将地图渲染服务器装上网络通信的翅膀,实现分布式和服务器渲染。这里的分布式渲染是指客户端在渲染多个地理网格块的同时可连接多个服务器实现渲染,这样如果部署在嵌入式设备端的话剩下的就只有是网络带宽的瓶颈了。
ICE是个非常好的通信基础框架,也有嵌入式版本,而且也使用了多年,就采用这个。
某些场合只能采用socket通信了

flex+map也是我的接下来的计划任务重点。采用flex技术,客户端安装问题就不用考虑了,直接嵌入浏览器,想想也是一个字,爽!不过要再熬熬夜研究一下flex技术了,以及后端支持的web服务器。
web服务器当然采用php了,在我的swMap引擎提供ice服务的后端,当flex请求到web时,php完成到swMap服务器的图形渲染请求。
当然map客户端的实现马上就要启动,封装成activx ocx,开发dll这些发布形式。

以上这些东东都实现了,做基础的移动位置服务的功能应该差不离了,而且考虑了多种系统服务框架模式
最后就是图形和导航技术的研究了。。。
继续熬夜。。。。。

posted @ 2009-08-06 01:24 放屁阿狗 阅读(1357) | 评论 (1)编辑 收藏

仅列出标题
共25页: First 11 12 13 14 15 16 17 18 19 Last