空间数据信息(100分)

  • 主题发起人 zzmbeyond01
  • 开始时间
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
请高手提示
MapX的空间数据信息用MapX提供的图形文件存储,
我想问:这些空间数据信息(对应各图层分别存放的),它是存放在关系数据库中呢,
还是自动跟生成的mapifo表捆绑存在一起的呢?
 
P

proman

Unregistered / Unconfirmed
GUEST, unregistred user!
MapInfo的属性数据既可以是本地的数据文件,也可以存放在关系数据库中,取决于实际的应用.
 
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
to proman :
若是本地的数据文件,那这些属性数据能跟对应的图层一起作为mapinfo表文件
存在一所起吗?
 
P

proman

Unregistered / Unconfirmed
GUEST, unregistred user!
MapInfo本地文件有4到5个.包括表结构文件,图元数据文件,属性信息文件,索引文件以及可选的
属性索引文件.
 
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
难道说空间属性数据可以存在属性信息文件中了,
而不必非得存在关系数据库中了
 
P

proman

Unregistered / Unconfirmed
GUEST, unregistred user!
那是当然的.
 
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
向大侠请教,请指点迷津:
比如说我有一张autocad的建筑总平面图,在mapinfo professional
里面用通用转换器转换后,注册到geoset中。
请问如何在mapx里面把建筑物当作一个区域图元对象,点对象?
 
P

proman

Unregistered / Unconfirmed
GUEST, unregistred user!
那你就有的玩了.AutoCad转过后图形很乱的.而且大部分都转成线了.建议把转过来的图层作
为底图,重新画一个.
 
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
to proman
老天,那岂不开发出系统后,得要客户再把画好的autocad底图,重新分图层再描一边。
我是以delphi作为开发平台,用mapx开发可视化系统
有没有更好的解决办法,可以减少工作量,知道至少总不能重画一遍吧!!!!
 
P

proman

Unregistered / Unconfirmed
GUEST, unregistred user!
是啊,否则看上去的效果不好.AucoCad的图作为底图效果是不好的.
 
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
我想问一下》
小区平面图,在delphi下绘制好后,平面坐标与地理坐标是如何转化的,
从而实现测量两点之间的距离 [?]
 
P

proman

Unregistered / Unconfirmed
GUEST, unregistred user!
小区平面图,在delphi下绘制好后,平面坐标与地理坐标是如何转化的,
从而实现测量两点之间的距离 [?]
一个平面坐标和地理坐标的转化需要进行投影变化和坐标变换。
 
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
在mapx自带的delphi例子中有一个example的例子,他调用自定义量距离的工具
procedure TMapForm.Ruler1Click(Sender: TObject);
begin

Map1.Currenttool := 1;

end;

在下面MapX Event事件中,我不明白他如何实现量出距离的
procedure TMapForm.Map1ToolUsed(Sender: TObject;
ToolNum: Smallint;
X1, Y1,
X2, Y2, Distance:do
uble;
Shift, Ctrl: Wordbool;
var EnableDefault: Wordbool);

var
distStr: string;
begin

case toolnum of
1:
begin

if Distance > 1 then

distStr := FloatToStrF(Distance, ffFixed, 12, 1)
else

distStr := FloatToStrF(Distance, ffFixed, 12, 4);
showmessage(distStr + ' miles');
end;

end;
 
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
接受答案了.
 
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
不好意思,忘了加分了!![:D][:D]
 
顶部