www.map-info.ru :: Просмотр темы - Отображение данных
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - ГИС 'MapInfo' Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Витя С.



Зарегистрирован: 17.09.2009
Сообщения: 21

СообщениеДобавлено: Чт Сен 17, 2009 10:10 pm    Заголовок сообщения: Отображение данных Добавить ответ со ссылкой на данный текст

Здравствуйте. Я пользуюсь MI 9.5 Русская версия и Oracle XE 10.
На растре я отображаю какой-либо объект (через "Создать точечные объекты"). Мне нужно, чтобы при щелчке на этом объекте отображались данные из таблицы. При шелчке на "Информация" отображаются все записи по этому объекту. Мне нужны только некоторые (например, нужно исключить отображение координат). Как это можно сделать? Заранее спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Нестеров Валерий



Зарегистрирован: 21.03.2006
Сообщения: 492

СообщениеДобавлено: Сб Сен 19, 2009 9:34 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Отображайте не с помощью "информации", а с помощью кнопки "подпись". Настроить выводимую информацию можно в управлении слоями, встав на нужный слой и нажав кнопку "Подписи", в появившейся форме задать одно, из полей, которое надо вывести, или "выражение" если нужно вывести несколько полей.
_________________
Жизнь прекрасна!i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Витя С.



Зарегистрирован: 17.09.2009
Сообщения: 21

СообщениеДобавлено: Пн Сен 21, 2009 9:35 pm    Заголовок сообщения: ... Добавить ответ со ссылкой на данный текст

Я был в этом меню. У меня получилось вывести только одно поле. Наверно, глупый вопрос, но что нужно написать в окне "Выражение", если нужно склеить поля разного типа?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
.a1ex



Зарегистрирован: 12.03.2009
Сообщения: 14
Откуда: Южно-Сахалинск

СообщениеДобавлено: Вт Сен 22, 2009 8:07 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

между всеми командами и колонками в таблице нужно ставить знак +
команда Chr$(13) - переход на следующую строку
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Витя С.



Зарегистрирован: 17.09.2009
Сообщения: 21

СообщениеДобавлено: Вт Сен 22, 2009 9:19 pm    Заголовок сообщения: ... Добавить ответ со ссылкой на данный текст

Спасибо, помогло. Чтобы не создавать новую тему, спрошу здесь еще пару вопросов.
1). Где можно прочитать описание функций (таких, как Chr$) (UG на русском есть, но там не нашел)
2). Есть ли готовые работы в MI, вроде образцы. Например, карта и набор таблиц для визуализации? Чтобы увидеть возможности не в текстовом виде, а наглядно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
spawner



Зарегистрирован: 01.04.2009
Сообщения: 77

СообщениеДобавлено: Вт Сен 22, 2009 9:43 pm    Заголовок сообщения: Re: ... Добавить ответ со ссылкой на данный текст

Витя С. писал(а):

1). Где можно прочитать описание функций (таких, как Chr$) (UG на русском есть, но там не нашел)

Help по MapBasic'у
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Нестеров Валерий



Зарегистрирован: 21.03.2006
Сообщения: 492

СообщениеДобавлено: Вт Сен 22, 2009 9:47 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Каждая кнопка на клавиатуре имеет свой код. Считайте, что функция Chr$ преобразует ваш номер в нажатие соответствующей кнопки клавиатуры. Так команда Chr$(13) выполняет как бы нажатие кнопки "ENTER" и переводит строку.
Пример:
Допустим в колонке col1 у объекта хранится значение "99:01:0000001", а в колонке col2 значение "8384.54". Пишем выражение:

1. col1+col2
получаем подпись:
99:01:00000018384.54

2. col1+" "+col2
получаем подпись:
99:01:0000001 8384.54

3. col1+Chr$(13)+col2
получаем подпись:
99:01:0000001
8384.54

3. col1+Chr$(13)+col2+" кв.м."
получаем подпись:
99:01:0000001
8384.54 кв.м.

Таким образом, можно объединять данные из разных колонок и выводить их рядом, друг под другом, с дополнительным текстом и т.д.
_________________
Жизнь прекрасна!i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Витя С.



Зарегистрирован: 17.09.2009
Сообщения: 21

СообщениеДобавлено: Чт Сен 24, 2009 9:09 pm    Заголовок сообщения: ... Добавить ответ со ссылкой на данный текст

Спасибо.
Я сделал запрос к БД, мне вернулась таблица из ~15 тыс записей:

Первые два поля одинаковые, следующие два разные. Координаты там большими группами. Примерно по 3 тыс. записей на каждую точку (т.е. 5 пар координат)
Нужно сделать следующее:
Вывести таблицу из 5 записей (по одной записи на координату), где первые два поля неизменные, вместо поля ZNACH - его среднее значение, DT - в виде "самая ранняя дата - самая поздняя дата" (т.е. уже в текстовом виде, я так понимаю) ну и следующие два поля - координаты. Надеюсь, объянил понятно. Заранее спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
spawner



Зарегистрирован: 01.04.2009
Сообщения: 77

СообщениеДобавлено: Пт Сен 25, 2009 10:57 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Мин-Макс дату в виде текста вроде нельзя запросом сформировать так как нужно. Можно сделать мин и макс даны разными полями.

SQL запрос:
выбрать колонки:S_NAME, PDK, Avg(ZNACH), Min(DT), Max(DT), X_KOORD, Y_KOORD
из таблиц:нужная таблица
группировать по колонкам:X_KOORD,Y_KOORD

Должно работать. Это по экологии какая-то задача?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Витя С.



Зарегистрирован: 17.09.2009
Сообщения: 21

СообщениеДобавлено: Пт Сен 25, 2009 8:39 pm    Заголовок сообщения: ... Добавить ответ со ссылкой на данный текст

Работает, только функция min(DT) и max(DT) возвращают численный тип, а не дату. А нужно дату.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Arhara



Зарегистрирован: 18.02.2009
Сообщения: 400
Откуда: Moscow, RF

СообщениеДобавлено: Пт Сен 25, 2009 11:08 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Работайте с американским форматом даты YYYYMMDD - он последовательный в отличии от российского, когда представлен и цифрами и текстом, потому позволяет его использовать в выборках.
Если нужна дата, то ее надо будет восстановить из численных значений - там есть такая функция.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Витя С.



Зарегистрирован: 17.09.2009
Сообщения: 21

СообщениеДобавлено: Сб Сен 26, 2009 3:07 pm    Заголовок сообщения: ... Добавить ответ со ссылкой на данный текст

Менять уже поздно.
Вы не могли бы припомнить функцию?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Arhara



Зарегистрирован: 18.02.2009
Сообщения: 400
Откуда: Moscow, RF

СообщениеДобавлено: Вт Сен 29, 2009 4:08 pm    Заголовок сообщения: Re: ... Добавить ответ со ссылкой на данный текст

Витя С. писал(а):
Менять уже поздно.
Вы не могли бы припомнить функцию?

StringToDate( ) function
Purpose
Returns a Date value, given a string.

Syntax
StringToDate( datestring )
datestring is a string expression representing a date.

Return Value
Date

/Mapbasic Help/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Витя С.



Зарегистрирован: 17.09.2009
Сообщения: 21

СообщениеДобавлено: Вс Окт 04, 2009 9:13 am    Заголовок сообщения: ... Добавить ответ со ссылкой на данный текст

Наверно я чего-то не понимаю. Но ведь даже из названия функции видно, что обрабатывает она строку, а не число. К тому же MapInfo в "SQL-запрос" пишет, что ожидалась квадратная скобка вместо круглой или что-то подобное.
Нашел следующее:
select to_char(to_date('29.01.1876','dd.mm.yyyy')+48701, 'dd-mm-yyyyy') from table_name
Это вообще не то, или можно использовать в моем случае?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - ГИС 'MapInfo' Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru