Автоматизация запросов и экспорта
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
Автоматизация запросов и экспорта
Подскажите пожалуйста, как автоматизировать в 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
Спасибо!
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
Спасибо!
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Автоматизация запросов и экспорта
Программировать в любом случае. Это если владеется mapbasic'ом. Бегать по таблицам, внутри бегать по объектам, читать значения из колонок, экспортировать Selection (если есть) в .mif/.mid с именем прочтённого значения.
Задача не представляется особо сложной, разве что циклов будет много.
Задача не представляется особо сложной, разве что циклов будет много.
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
Re: Автоматизация запросов и экспорта
С MB знаком менее чем поверхностно. Без изучения не обойтись?
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Автоматизация запросов и экспорта
Циклы и условия не применимы из командной строки mapbasic'a в самом mapinfo. Так что для ускорения решение задачи необходимо.
-
- Активный участник
- Сообщения: 216
- Зарегистрирован: 21 окт 2009, 13:29
- Репутация: 28
- Откуда: Новосибирск
Re: Автоматизация запросов и экспорта
Прогу небольшую написать придется все же. Но есть и хорошая новость - Mapbasic он не сложный, если хоть когда-то на чем-нибудь программировали, то проблем ее написать не будет. Единственная сложность, которая может возникнуть в данном случае - перебор файлов в папке, но и это можно решить.xar4enkkoff писал(а):С MB знаком менее чем поверхностно. Без изучения не обойтись?
Последний раз редактировалось Sibit 19 мар 2013, 04:52, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 5354
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Автоматизация запросов и экспорта
А я бы загрузил в БД и юзал бы PL/SQL
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей