2014-10-24 2 views
0

Я новичок в MapBasic, и это действительно трудно найти учебники, так вот вопрос:MapBasic штуцера в регионы Карты

У меня есть карта с регионами (каждый регион имеет другой атрибут) и У меня есть список точек (xy karthesian koordinates). Мне удалось прочитать в этих таблицах (найдено учебник).

Но теперь я должен сделать следующее: Возьмите каждую точку моего списка, найдите ее на карте и назначьте Атрибут региона точке.

Я думал:

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

Это не должно быть рабочим miniexample, он должен просто проиллюстрировать то, что я хочу сделать.

Я очень неопытный с этим BASIC/SQL кроссовером, и его трудно найти хорошие примеры в Интернете, поэтому я бы благодарности за помощь и может обеспечить

+0

Проверьте это Stack Обмен сайт, когда у вас есть вопросы на MapBasic в следующий раз: [Географические информационные системы] (http://gis.stackexchange.com/questions/tagged/mapbasic) –

ответ

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 
+0

Большое спасибо! Я закончил в точке, где мне пришлось манипулировать данными поля, я использовал Loop. Мне просто нужно было использовать инструкцию Insert, чтобы получить новые строки. – Michael

1

Хорошо нашли сами.

Поскольку MapBasic понимает SQL его супер просто:

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

и мы закончили. Почему-то я не мог согласиться с тем, что здесь не нужен цикл.