0

我是 MapBasic 的新手,很难找到教程,所以这里有一个问题:

我有一张带有区域的地图(每个区域都有不同的属性),并且我有一个点列表(xy karthesian koordinates)。我设法阅读了这个表格(找到了一个教程)。

但是现在我必须执行以下操作:获取列表中的每个点,在地图中找到它并将区域的属性分配给该点。

我想过:

For lengthList
   select Attribute from Map where Map contains PointofList
   PointofList += Atrribute to PointofList
next

这不是一个可行的小例子,它应该只是说明我想要做什么。

我对这个 BASIC/SQL 交叉非常缺乏经验,而且很难在网上找到好的例子,所以我会感谢你能提供的任何帮助

4

2 回答 2

1

好吧我自己找的。

因为 MapBasic 理解 SQL,所以非常简单:

Add Column Value (tab1) From tab2 Set To Value Where contains

我们完成了。不知何故,我无法接受这里不需要循环。

于 2014-10-24T13:17:31.697 回答
1

事实上,MapBasic 并不是很常见(至少在 StackOverflow 上是这样)。

无论如何,这里有一个简单的例子,一个循环的样子。像您一样在单个 SQL 中执行它当然是更有效和首选的方式。

i = 1
Fetch First From PointofList
Do Until EOT(PointofList)
    Set Style Pen MakePen(100, 2, BLUE)
    Update PointofList Set Obj = CreateLine(Temp.FROM_X, Temp.FROM_Y, Temp.TO_X, Temp.TO_Y) Where RowId = i
    Fetch Next From PointofList
    i = i + 1
Loop
Commit Table PointofList
于 2014-10-27T08:33:08.840 回答