阅读:2720回复:6
请教:在用mapbasic 的 create region 语句的问题
在用mapbasic 的 create region 语句建立区域时,为什么老是出问题?
我用的是 NonEarth 坐标系,它要求给定边界,我无论给多大,建出的区域总是在边界的顶角,比如我定0,0到100000,100000,单位是M,我用create region建出的区域总是一个在100000,100000的一个面积为0的区域,把区域坐标点的数据改小一点,比如都是100以内的建出来的区域就正常了。真让我很不明白。 请高手指点一二,不胜感激!!! |
|
1楼#
发布于:2003-12-02 16:48
Dim obj_region As Object
Dim x(100), y(100) As Float Dim i, node_count As Integer node_count=6 x(1)=0 y(1)=0 x(2)=500 y(2)=0 x(3)=500 y(3)=200 x(4)=400 y(4)=400 x(5)=300 y(5)=300 x(6)=0 y(6)=500 Create Region Into Variable obj_region 0 For i = 1 to node_count Alter Object obj_region Node Add ( x(i), y(i) ) Next ' Now store the object in the Sites table: Insert Into zds (Object) Values (obj_region) |
|
2楼#
发布于:2003-12-02 16:50
特别奇怪的是,在mapinfo 的mapbasic 窗口里运行同样的命令都是好的,可是放在程序里就好象单位被放大了,出了坐标范围的上限!不知道你们有没有遇到这样的问题。
|
|
3楼#
发布于:2003-12-03 10:53
与coordsys bound有关,
|
|
|
4楼#
发布于:2003-12-03 11:04
那好,我再试试,我已经设得很大了
|
|
5楼#
发布于:2003-12-05 18:44
我怎么试都不行,同一个句子,同一个table ,同一个map ,同样的coordsys,为什么放在mapinfo 里就行,放在程序里编译以后执行就不行????我真是不明白,请版主指教。
|
|
6楼#
发布于:2004-02-02 14:12
命令窗口和basic程序不一样
你需要在basic程序里面重新设置绘图单位和坐标系 如果觉得麻烦就把当前系统的设置用代码读出来再设置一遍就行了 |
|