MapBasic соединение указывает на регионы в карте
Я новичок в MapBasic, и это действительно трудно найти учебники, так что здесь вопрос:
У меня есть карта с регионами (каждый регион имеет свой атрибут), и у меня есть список точек (xy karthesian koordinates). Мне удалось прочитать в этой таблице (нашел учебник).
Но теперь мне нужно сделать следующее: взять каждую точку моего списка, найти ее на карте и назначить атрибут региона для точки.
Я думал о:
For lengthList
select Attribute from Map where Map contains PointofList
PointofList += Atrribute to PointofList
next
Это не предназначенный для работы мини-пример, он должен просто иллюстрировать то, что я хочу сделать.
Я довольно неопытен с этим кроссовером BASIC/SQL, и его трудно найти хорошие примеры в Интернете, поэтому я был бы благодарен за любую помощь, которую вы можете предоставить
2 ответа
На самом деле MapBasic не очень распространен (по крайней мере, здесь, в Stackru).
В любом случае, вот простой пример того, как будет выглядеть цикл. Выполнение этого в одном 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
Ладно нашел сам.
Потому что MapBasic понимает SQL очень просто:
Add Column Value (tab1) From tab2 Set To Value Where contains
и мы закончили. Почему-то я не мог смириться с тем, что никакой петли здесь не нужно.