socketref,再见!高德

https://github.com/adoggie

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

常用链接

留言簿(54)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

#

wiki上有些介绍http://en.wikipedia.org/wiki/Centroid,上学的时候平面几何都忘光了,不知哪位大虾能提供1,2
posted @ 2010-11-12 04:59 放屁阿狗 阅读(2123) | 评论 (3)编辑 收藏

作为替代geoserver的方案,采用python+qt实现地图的加工处理,实时渲染和tilecache缓冲。
其中借鉴了geoserver的服务模式,ogc的SLD风格配置,tilecache开源代码的核心,现已用c++完成这些功能,
运行效率可谓比geoserver快了好几个数量级
未加入道路和多边形文本标注,正在调整标注算法和逻辑; *.xml控制地图,mapsld.xml定义层样式风格

程序演示:http://wallizard.vicp.net:9000/swBox_release_2010.11.08.rar



posted @ 2010-11-08 01:20 放屁阿狗 阅读(1802) | 评论 (1)编辑 收藏

     摘要:   阅读全文
posted @ 2010-11-07 08:32 放屁阿狗 阅读(1827) | 评论 (6)编辑 收藏

项目开发过程中最痛苦的就是头疼编译速度,稍微做修改编译的时间比修改时间更长
系统越时髦,开发环境版本越高,机器配置再高(我的配置4G,I720),但vc的编译器速度一点都提高不了多少
提高编译速度尝试了很多方法:
1.买更快的机器
2.更换编译器,vc6还是能保持最快的速度,vs2008等等越来越垃圾
3.更换操作系统 win2003
4.使用服务器编译,用2,3台机器协同进来编译工程

以上均不能让我有满意的效果
那最好的方式就是调整自己的代码结构了,c编译器为何如老牛般吃力,就是由于c语言灵活带来的问题,不同对象文件关联不正当将大大增大了编译时间。
所以在定义工程对象依赖关系时,必须注意<include> 。
我一般的做法是:
class A,class B, 那在 a.h 中先声明 class B,然后定义一个B*即可
只有在a.c内要用到B结构时才加上include "b.h"
这样代码关联就没有那么紧密了,编译器也会变的聪明点了,不会由于一个无关紧要的修改,导致大批量的源文件被重新编译。




posted @ 2010-10-26 14:01 放屁阿狗 阅读(4403) | 评论 (20)编辑 收藏

之前废弃了wxWidgets,地图用Qt渲染,反锯齿和字体都是现成的
加上了SLD控制地图分隔,比之前的效果好了很多

1.修复了由于判别第一个feature不在可视区域内导致忽略了之后的数据加载的bug
2.多边形和线性增加了最小可见宽度,为了加速绘制的速度

告别了geoserver那种蜗牛和不可控的年月了
基本的绘制效果比较满意
下一步工作:
1.文本绘制和优化
2.地图layer压缩减小存储空间以及测试性能上的影响
3.优化memheap的算法
4.mapcanas从wx移植到qt
5.flex 组件优化
6.mapserver支持tilecache



posted @ 2010-10-19 23:37 放屁阿狗 阅读(2643) | 评论 (2)编辑 收藏

地图显示可以用缩放比进行表示,也可以用度表示
例如在openlayers时,resolutions用于定义显示精度,也就是比例尺。
    resolutions: [0.17578125,0.087890625,0.0439453125,0.02197265625] ,定义了4级地图显示比例,每个像素表示多少地理宽度
 如果换算成显示比时,转换方法:  0.17578125*sw_METERS_PER_DEGREE/sw_METERS_PER_PIXEL = 74,143,700 = 74M
 也是就 1:74M
posted @ 2010-10-08 22:39 放屁阿狗 阅读(483) | 评论 (0)编辑 收藏

     摘要: v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 7.8 磅 0 2 false false fa...  阅读全文
posted @ 2010-09-30 01:17 放屁阿狗 阅读(3923) | 评论 (2)编辑 收藏

     摘要: 跟逆向的协同是制定标准交互接口gtr_api.h Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1 /*  2 gtr_api.h  3 ========...  阅读全文
posted @ 2010-09-30 00:40 放屁阿狗 阅读(1438) | 评论 (0)编辑 收藏



  1 /*
  2 
  3 2010.3.25 zhangbin 
  4 1.create,定义game-core的网络接口
  5 
  6 协定:
  7     1.数据类型名称尾部添加T
  8 
  9 2010.3.27 zhangin
 10 
 11 2010.3.29 zhangbin
 12 1. 取消工作单GameWorkSheetT结构
 13 2. 修改 ISecureService.auth()安全认证的数据类型
 14 2010.3.30 zhangbin 
 15 1. heartbeat()移动到IService接口
 16 */
 17 
 18 
 19 #ifndef _GTR_ICE
 20 #define _GTR_ICE
 21 
 22 
 23 module gtr {
 24 
 25 dictionary<string,string>    HashValueSet;
 26 dictionary<string,string>    ReturnValueT;
 27 sequence<byte>                 ByteStreamT;
 28 sequence<string>            StringListT;
 29 sequence<HashValueSet>    HashValueListT;
 30 sequence<int>                    IntListT;
 31 sequence<StringListT>    StringListListT;
 32 
 33 struct CallReturnT{
 34     bool    succ;
 35     string msg;
 36     HashValueSet props;
 37 };
 38 
 39 const int IMAGEJPEG = 1;
 40 const int IMAGEPNG =2 ;
 41 const int IMAGEBMP = 3 ;
 42 
 43 
 44 //图像数据
 45 struct ImageDataT{
 46     int type;
 47     ByteStreamT    bytes;
 48     int width;
 49     int height;    
 50 };
 51 
 52 struct GameAuthDataT{
 53     int             type;     // 1- 图片 ,2 - 坐标
 54     ImageDataT image; //秘宝图片
 55     string seckey;      //秘宝坐标
 56 };
 57 
 58 
 59 struct GameIdentifyT{
 60     string id;            //游戏编号
 61     string tradeNo;    //交易单号
 62 };
 63 
 64 struct ServiceIdentifyT{
 65     string id;
 66     string version;
 67 };
 68 
 69 
 70 interface IService{
 71     int            getType();             //  
 72     ServiceIdentifyT    getId();                //service module id
 73     int                             getTimestamp();        //获取系统时钟  1970之后秒数
 74     void                             shutdown();
 75     void                             heartbeat(string senderType,string senderId);  //发送者类型和Id
 76 };
 77 
 78 /*
 79 enum LogMsgLevelT{
 80     logDEBUG,
 81     logINFO,
 82     logCRITICAL,
 83     logERROR
 84 };
 85 */
 86     
 87 struct LogMessageT{
 88     int                     xclass;    //消息类型    
 89     string                 msg;    
 90 };
 91 
 92 //日志功能
 93 interface ILogger {
 94     void gameMsg(GameIdentifyT gameId,int timetick,LogMessageT msg);  // timetick - 1970~ s
 95     void gameImage(GameIdentifyT gameId,int timetick,string opName,ImageDataT image);    //抓图 opName - 执行游戏步骤名称
 96 };
 97 
 98 //安全管理,包括秘宝认证等
 99 interface ISecure {
100     string auth(GameIdentifyT gameId,GameAuthDataT data); 
101 };
102 
103 //日志服务器
104 interface ILogServer extends ILogger,IService{
105     
106 };
107 
108 interface ISecureServer extends ISecure,IService{
109 };
110 
111 
112 //一个游戏任务相关的信息
113 enum GameWorkSheetTypeT{
114     gwsPost,                    //邮寄
115     gwsAccountAudit, //帐号审核
116     gwsVerify                //验证
117 };
118 
119 
120 //邮寄
121 struct GameWorkSheetPostT {
122     long money;        
123 };
124 //审核
125 struct GameWorkSheetAccountAuditT {
126     string any;
127 };
128 //验证
129 struct GameWorkSheetVerifyT {
130     string any;
131 };
132 
133 //交易任务信息
134 //Tasklet包含所有的业务处理类型,但同时只有一种有效
135 struct GameTaskletT{
136     string id;                            //任务编号
137     int      type;                            //处理类型
138     string no;            //单号
139     string gameId;    //游戏编号
140     string account;    //帐号
141     string password;
142     string area;        //
143     string server;    //服务器
144     string lineName;//线路名称(为空则lineNo)
145     short     lineNo;    //线路编号
146     string createTime;
147     
148     GameWorkSheetPostT post;    //邮寄
149     GameWorkSheetAccountAuditT audit;
150     GameWorkSheetVerifyT        verify;
151 };
152 
153 struct GameTaskResultT{
154     string id;        //任务编号
155     string no;        //单号 (冗余)
156     string gameId;    //游戏编号(冗余)
157     int result;        //处理结果
158     string errmsg;    //提示信息    
159 };
160 
161 //gtr控制服务端接口
162 interface IGameHost extends IService,ILogger,ISecure{    
163     GameTaskletT                    getTask();        //获取任务
164     void                                    completeTask(GameTaskResultT result);         //
165     
166 };
167 
168 
169 
170 };
171 
172 
173 #endif
174 
175 


posted @ 2010-09-30 00:38 放屁阿狗 阅读(1355) | 评论 (0)编辑 收藏

     摘要: 采用Ice编写的Rpc服务应用,endpoint部署在5173.com的游戏做单PC上,sync_server部署在游戏运维网管机器上。sync_server与endpoint是1对多的形态部署。某一款游戏做了修改或者逆向代码有了修改,通过sync_server将新增部分同步到几百台endpoint游戏主机。类能类似 EMC的 Networker 同步软件。文件校验使用md5通信接口定义sync....  阅读全文
posted @ 2010-09-30 00:34 放屁阿狗 阅读(2126) | 评论 (0)编辑 收藏

仅列出标题
共25页: First 7 8 9 10 11 12 13 14 15 Last