Правильный запрос, для нумерации полигонов с С-Ю и с З-В

MapInfo, MapBasic
Ответить
VITASSS
Новоприбывший
Сообщения: 9
Зарегистрирован: 10 июн 2020, 13:23
Репутация: 0
Откуда: ХМАО

Правильный запрос, для нумерации полигонов с С-Ю и с З-В

Сообщение VITASSS » 15 июн 2023, 07:32

Добрый день!
Я знаю, что здесь сидят гении MI.
Помогите как сделать нумерацию квартальной сети с Север-Юг и с Запад-Восток.
- Rowid (не подходит) нумерацию делает по своему алгоритму
- Наткнулся на тему в форуме которая была еще в 2016 году, там написано набрать код в консоле

Код: Выделить всё

select * from tbl order by @g.STExteriorRing().STPointN(1).STX, @g.STExteriorRing().STPointN(1).STY
тоже не помогло, пишет "Команда Этот символ не поддерживается не опознана."
Если есть вариант проще в Qgis, мне не пренципиально

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Правильный запрос, для нумерации полигонов с С-Ю и с З-В

Сообщение gamm » 15 июн 2023, 09:08

это sql запрос для СУБД SQLserver, к Мапинфе отношения не имеет. Для Мапинфы, если не заморачиваться с Мапвасиком, должно сработать:

1) сначала нужно вытащить в таблицу центроиды через xc=CentroidX(obj) и yc=CentroidY(obj).
2) потом сделать запрос с упорядочением по yc,xc, в поле order by написать yc,xc
3) потом сохранить результат запроса в новую таблицу, в RowID будет нужная нумерация

пункты 1 и 2 можно попробовать объединить в одном запросе, типа
select columns *, CentroidX(obj) "xc", CentroidY(obj) "yc"
order by columns yc,xc
into table named temp

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей