Составление SQL-запроса

MapInfo, MapBasic
LaS
Новоприбывший
Сообщения: 8
Зарегистрирован: 11 фев 2010, 16:34
Репутация: 0

Составление SQL-запроса

Сообщение LaS » 01 июн 2010, 15:35

Доброго времени суток! Помогите, пожалуйста! Надо составить запрос, что бы в окне Карты отображался конкретный площадной объект (прямоугольник, пронумерованный) из слоя, причем "растянутый" на все Окно. В идеале его надо скопировать как окно карты и через специальную вставку вставить в World, как метафайл Windows (пытался написать макрос, но на этапе вставки там не сраслось). В программировании не очень сведущ, посему возникла такая проблема. Прошу, если кто с этим сталкивался и\или знает что делать отзовитесь.
Спасибо!

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Составление SQL-запроса

Сообщение Дмитрий Барышников » 01 июн 2010, 20:36

А что собственно разрабатывается - скрипт к офису, программа или еще что? Как это должно работать, в общих словах, на уровне постановки задачи.

LaS
Новоприбывший
Сообщения: 8
Зарегистрирован: 11 фев 2010, 16:34
Репутация: 0

Re: Составление SQL-запроса

Сообщение LaS » 03 июн 2010, 11:20

Спасибо что откликнулись! Составляется скорее скрипт к офису, смысл таков. SQL-запрос ищет нужный объект (объекты пронумерованны, тоесть запрос вида "из таблицы narezka найти объект karta_7"), этот объект полностью должен отобразится в окне активной Карты. Далее то что отображено в окне Карты банально копируется (edit-copy map window), открывается word'овский файл karta_7.doc, там удаляется старая карта и путем "правка-специальная вставка-метафайл windows" вставляется новая. Сейчас это все делается в ручную, хотелось бы процесс автоматизировать.

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Составление SQL-запроса

Сообщение Boris » 03 июн 2010, 23:45

все описанное есть задача с программированием. как можно ее решить без программирования - не имею советов. там и с программированием есть "N в квадрате" скользких мест. самый банальный из них - в Word можно вставлять окно MapInfo как объект MapInfo и оперировать им без всяких мета-файлов.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Составление SQL-запроса

Сообщение Дмитрий Барышников » 04 июн 2010, 00:33

В принципе в MI есть функция экспорта окна карты в растровую картинку. Но тут без MapBasic никак.
В скрипте надо подключится к MI через OLE и вызвать ч/з MapBasic функцию экспорта окна карты во временный растровый файл. Затем вставить его в тело документа и удалить.
Для того чтобы такое сделать надо знать Ole автоматизацию + MapBasic, не считая того что в окно карты данные тоже надо подгрузить программно.

LaS
Новоприбывший
Сообщения: 8
Зарегистрирован: 11 фев 2010, 16:34
Репутация: 0

Re: Составление SQL-запроса

Сообщение LaS » 04 июн 2010, 11:51

Спасибо уважаемые тов. Bishop и Boris. Понятно, что надо влезать в програмирование, причем MapBasic и VBA, судя по всему не обойтись. Это, собственно, глобальная задача. Описана она в надежде на то, что кто-то мог столкнуться с такой проблемой и имеет некоторое подобие такой программки или возможность ее написать. Вопрос же с SQL-запросом конкретно таков - есть 2 слоя, в каждом из них много объектов, в одном точечные, в другом площадные (иногда перекрывающиеся). Так вот, запрос должен показать на каком\каких площадном объекте расположен точечный.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Составление SQL-запроса

Сообщение Дмитрий Барышников » 04 июн 2010, 12:22

Используйте оператор within если надо отобрать все точки попавшие в полигоны и оператор contains если надо отобрать все полигоны, содержащие точки (см. запрос->SQL-запрос)
Может быть интересно viewtopic.php?f=16&t=5499 но это другая ГИС.

Lele4ka
Новоприбывший
Сообщения: 5
Зарегистрирован: 24 мар 2011, 12:46
Репутация: 0

Re: Составление SQL-запроса

Сообщение Lele4ka » 24 мар 2011, 16:11

Подскажите пожалуйста!

Есть таблица с информацией по населенному пункту (названи улиц, номера земельных участков и т.д.). Нужно сделать так, чтобы можно было посмотреть земельные участки, которые относятся к определенной улице. Как можно сделать такую выборку?

Andrew
Активный участник
Сообщения: 134
Зарегистрирован: 01 окт 2009, 08:52
Репутация: 3
Откуда: Москва

Re: Составление SQL-запроса

Сообщение Andrew » 24 мар 2011, 17:04

Lele4ka писал(а):Подскажите пожалуйста!

Есть таблица с информацией по населенному пункту (названи улиц, номера земельных участков и т.д.). Нужно сделать так, чтобы можно было посмотреть земельные участки, которые относятся к определенной улице. Как можно сделать такую выборку?
Select * from "Имя Вашей таблицы" where "Имя колонки с названиями улиц" = "Название нужной улицы" into Selection

Lele4ka
Новоприбывший
Сообщения: 5
Зарегистрирован: 24 мар 2011, 12:46
Репутация: 0

Re: Составление SQL-запроса

Сообщение Lele4ka » 24 мар 2011, 18:03

Возможно вопрос глупый, но я только осваиваю Mapinfo. Поэтому возникли еще вопросы.
Я так понимаю это в MapBasic делается?
А через SQL запрос это нельзя сделать?

Andrew
Активный участник
Сообщения: 134
Зарегистрирован: 01 окт 2009, 08:52
Репутация: 3
Откуда: Москва

Re: Составление SQL-запроса

Сообщение Andrew » 24 мар 2011, 18:09

Lele4ka писал(а):Возможно вопрос глупый, но я только осваиваю Mapinfo. Поэтому возникли еще вопросы.
Я так понимаю это в MapBasic делается?
А через SQL запрос это нельзя сделать?
Как раз в SQL:
Вложения
snap1474.jpg
snap1474.jpg (44.48 КБ) 13166 просмотров

Lele4ka
Новоприбывший
Сообщения: 5
Зарегистрирован: 24 мар 2011, 12:46
Репутация: 0

Re: Составление SQL-запроса

Сообщение Lele4ka » 24 мар 2011, 18:19

Хм...я так пыталась, но пишет сообщение что переменное поле не заданно.

Andrew
Активный участник
Сообщения: 134
Зарегистрирован: 01 окт 2009, 08:52
Репутация: 3
Откуда: Москва

Re: Составление SQL-запроса

Сообщение Andrew » 24 мар 2011, 18:21

Lele4ka писал(а):Хм...я так пыталась, но пишет сообщение что переменное поле не заданно.
А название вбивали точно? в кавычках? звездочку вверху не удаляли?

Lele4ka
Новоприбывший
Сообщения: 5
Зарегистрирован: 24 мар 2011, 12:46
Репутация: 0

Re: Составление SQL-запроса

Сообщение Lele4ka » 24 мар 2011, 18:28

Ура! :D Я кавычки не поставила! Спасибо огромное за помощь!
Не подскажите что можно почитать кроме руководства, чтобы с запросами разобраться, а то чую их еще будет много...

Andrew
Активный участник
Сообщения: 134
Зарегистрирован: 01 окт 2009, 08:52
Репутация: 3
Откуда: Москва

Re: Составление SQL-запроса

Сообщение Andrew » 24 мар 2011, 18:31

не за что. в руководстве (большая толстая книга) очень хорошо все расписано.

Ответить

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

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

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