Автоматизация запросов и экспорта

MapInfo, MapBasic
Ответить
xar4enkkoff
Активный участник
Сообщения: 107
Зарегистрирован: 17 янв 2010, 00:07
Репутация: 5
Откуда: Курск

Автоматизация запросов и экспорта

Сообщение xar4enkkoff » 16 мар 2013, 19:24

Подскажите пожалуйста, как автоматизировать в MapInfo следующую задачу..

1. Есть полигональный слой уклонов рельефа "Slope". В атрибутах записан верхний порог уклона. Есть полигоны Slope.Upper=2, Slope.Upper=5, Slope.Upper=8, Slope.Upper=15

2. Есть ряд слоев - тоже полигональные. Это здания. Разделенные по высотам (через 5 метров) и экспозициям (по 16 румбам, т.е. через 22,5 градуса).

Так как они разделены по высотам, то разбросаны по соответствующим папкам (один высотный ярус - одна папка).

В общем выглядит это так примерно:

\150\0.tab

\150\22.5.tab

\150\45.tab

\150\67.5.tab

...

\150\315.tab

\150\337.5.tab

след.папка:

\155\0.tab

\155\22.5.tab

\155\45.tab

...

\155\337.5.tab

И так до \250\337.5.tab

В названии папки, соответственно, высота, в названии файла - экспозиция.

Все здания уже разбиты по высоте и экспозиции, а нужно еще по уклону.

Я делаю SQL-запросы

_0.obj within Slope.obj and Slope.Upper=2

_0.obj within Slope.obj and Slope.Upper=5

_0.obj within Slope.obj and Slope.Upper=8

_0.obj within Slope.obj and Slope.Upper=15

Потом результаты запросы, соответственно, экспортирую в Мид/Миф с именами 0_2, 0_5, 0_8, 0_15.

После этого то же самое делается со следующим файлом \150\22.5.tab

Проблема в том, что таблиц со зданиями, разбитых по высотам и экспозициям у меня 324 (в 21 папке по 16, иногда 15 файлов). Если к каждой делать еще 4 SQL-запроса вручную - свихнуться можно. Это 1296 запросов с последующем экспортом каждой выборки.

Пытался автоматизировать с помощью сторонних программ автоматизации действий пользователя в интерфейсе Виндовс - типа xStarter. Но там тонкостей много - постоянно что то срывается.

Может быть можно написать как-то файл командной строки?

P.S. Экспорт в мид/миф принципиален. Это единственный нужный формат.

P.P.S. А вообще приветствуются любые предложения на тему:
как, имея четыре полигональных слоя - высоты, экспозиции, уклоны, здания, полуавтоматически все здания разбросать по имеющимся трем параметрам рельефа, т.е. получить те самые 1296 мид/миф файлов с названиями по шаблону: высота_экспозиция_уклон.mif

Спасибо!

Slinger
Гуру
Сообщения: 879
Зарегистрирован: 17 июн 2010, 23:14
Репутация: 207
Откуда: Москва

Re: Автоматизация запросов и экспорта

Сообщение Slinger » 16 мар 2013, 19:47

Программировать в любом случае. Это если владеется mapbasic'ом. Бегать по таблицам, внутри бегать по объектам, читать значения из колонок, экспортировать Selection (если есть) в .mif/.mid с именем прочтённого значения.

Задача не представляется особо сложной, разве что циклов будет много.

xar4enkkoff
Активный участник
Сообщения: 107
Зарегистрирован: 17 янв 2010, 00:07
Репутация: 5
Откуда: Курск

Re: Автоматизация запросов и экспорта

Сообщение xar4enkkoff » 16 мар 2013, 21:02

С MB знаком менее чем поверхностно. Без изучения не обойтись?

Slinger
Гуру
Сообщения: 879
Зарегистрирован: 17 июн 2010, 23:14
Репутация: 207
Откуда: Москва

Re: Автоматизация запросов и экспорта

Сообщение Slinger » 16 мар 2013, 21:08

Циклы и условия не применимы из командной строки mapbasic'a в самом mapinfo. Так что для ускорения решение задачи необходимо.

Sibit
Активный участник
Сообщения: 216
Зарегистрирован: 21 окт 2009, 13:29
Репутация: 28
Откуда: Новосибирск

Re: Автоматизация запросов и экспорта

Сообщение Sibit » 18 мар 2013, 17:01

xar4enkkoff писал(а):С MB знаком менее чем поверхностно. Без изучения не обойтись?
Прогу небольшую написать придется все же. Но есть и хорошая новость - Mapbasic он не сложный, если хоть когда-то на чем-нибудь программировали, то проблем ее написать не будет. Единственная сложность, которая может возникнуть в данном случае - перебор файлов в папке, но и это можно решить.
Последний раз редактировалось Sibit 19 мар 2013, 04:52, всего редактировалось 1 раз.

trir
Гуру
Сообщения: 5354
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Автоматизация запросов и экспорта

Сообщение trir » 18 мар 2013, 17:26

А я бы загрузил в БД и юзал бы PL/SQL

Ответить

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

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

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