GIS中的无级缩放是如何实现的?高分相送。 用过GIS(地理信息系统)的人都知道,GIS有一个无级缩放的功能,小弟最近在做一个行业的GIS系统,基本功能已经完成,现在用的是固定缩放的算法,小弟希望将其改为无级缩放的模式,请高人指点。最好有例程。或者发例程到:[email protected]都有分送。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 矢量图可以无级缩放,看你的GIS系统是怎么做的了 在GIS里所有的图形都由基本的点组成。而GIS的点为浮点型数据。如:TGISPoint = packed record x,y:Double ;end;如用Zoom来表示缩放比的话(Zoom>0)。点的传换如下。Function GPSToIntPoint(GISPoint:TGISPoint;Zoom:Double):TPoint ;);//从浮点域转到整型域begin Assert(Zoom>0); Result.x:=Round(GisPoint.x*Zoom); Result.y:=Round(GisPoint.y*Zoom);end;无论Zoom为多大都能放。如:要画一条线段P1(x1,y1),p2(x2,y2)。经纬度为 放大100,000倍。pint1,pint2:TPoint ;pint1:=GPSToIntPoint(p1);//从浮点域转到整型域pint2:=GPSToIntPoint(p2);//从浮点域转到整型域...偏量计算(拖动)...Canvas.Moveto(pint1.x,pint1.y);Canvas.Moveto(pint2.x,pint2.y); 有用GIS控件吗?应该没使用对吧,如果有使用就简单了.用WMF文件可以模拟GIS,效果还不错 关于IdTCPServer的问题 用鼠标选中DBGRIDE的某一列,怎样能得到这个列号,求求高手帮帮俺,我感激涕淋 函数声明问题 主从表的增加、删除、编辑问题,请帮手,在线等…… delphi的IDE出了问题 在delphi中能实现vf中的字段映射吗? ******来者有分(在线等待)****** 请问我该在哪个函数里放先放出窗体 Ttable的Locate指针会发生错误吗? 一个我很伤脑筋的问题! 如何调用formclose 急!!!dbgrideh问题
TGISPoint = packed record
x,y:Double ;
end;如用Zoom来表示缩放比的话(Zoom>0)。点的传换如下。
Function GPSToIntPoint(GISPoint:TGISPoint;Zoom:Double):TPoint ;);//从浮点域转到整型域
begin
Assert(Zoom>0);
Result.x:=Round(GisPoint.x*Zoom);
Result.y:=Round(GisPoint.y*Zoom);
end;无论Zoom为多大都能放。如:要画一条线段P1(x1,y1),p2(x2,y2)。经纬度为 放大100,000倍。pint1,pint2:TPoint ;
pint1:=GPSToIntPoint(p1);//从浮点域转到整型域
pint2:=GPSToIntPoint(p2);//从浮点域转到整型域
...
偏量计算(拖动)
...
Canvas.Moveto(pint1.x,pint1.y);
Canvas.Moveto(pint2.x,pint2.y);
用WMF文件可以模拟GIS,效果还不错