1, который существует , например в языке T-SQL (можно посмотреть здесь).
Однако, продолжим … Создаем второй запрос, в котором будем использовать результаты Query1 :
|
В приведенном на форме слева запросе выведем в результирующий список наименования нас. пунктов, встречающиеся более 3-х раз. Сортировать результаты будем по первому полю в порядке возрастания по алфавиту — предложение 1 asc в поле Сортировать по . Условие запроса для нашего примера будет таким: name in (Select name from query1 where col2 > 3) |
Результат будет выглядеть сл. образом — как и следовало ожидать, наиболее ‘популярными’ являются названия Александровка, Каменка, Поповка , Березовка и пр. :
В заключении необходимо отметить, что рассмотренная тактика составления последовательности (цепочки) запросов, является полезным приемом в случае необходимости получить нетривиальный cрез информации из списков MapInfo. Мысль тут довольно простая — решение сложной задачи всегда можно достичь, разложив её на более простые (элементарные) составляющие.
Мндаа … Диалектика, однако — от просто к сложному 🙂 За сим разрешите откланяться …
© Simashkov.2015
04.05.2015 г.
Иногда бывает нужно быстро протестировать соединение с базой данных «подручными» средствами, не прибегая к помощи каких-либо программ. Чаще всего с такой необходимостью сталкиваются при тестировании соединения с базой на SQL-серверах в сети (с локальной базой проблем, как правило, не возникает).
Решить такую задачу проще всего с использованием файла-подключения со специальным расширением .udl (Universal Data Link). Алгоритм действий может быть следующий.
Создаём, например в Total Commander‘ е (по Shift+F4) файл с расширением udl. Пусть это будет test.udl:

Затем дважды щёлкаем по нему:

На следующей форме выбираем, например, драйвер для MS SQL Server:

На форме выше жмём кнопку Далее и выбираем соответствующие опции:

Жмём на кнопку Проверить подключение и если всё OK видим следующий результат :

Как создать и протестировать подключение к базе данных из средства разработки MS Visual Studio — смотрите здесь
27.04.2011
Администрирование, ищем пункт Источник данных(ODBC) и дважды щёлкаем по нему:

Видим следующую форму и идём на вкладку Файловый DSN:

Жмём на кнопку Добавить и в следующей форме выбираем (для нашего случая) драйвер MS Access:

Двигаемcя дальше и указываем источник данных — нужную нам базу:

Жмём кнопку OK и вводим имя файлового источника данных — пусть он будет называться MySource:

Созданный файловый DSN является ничем иным, как простым текстовым файлом, в котором хранятся параметры созданного соединения и его можно просмотреть любым текстовым редактором:
![]() |
Преимущество созданного файла заключается в том, что им можно воспользоваться и в других приложениях, сославшись на него (естественно, только для подключения к указанной базе по указанному пути с указанным драйвером). Этот файл даже можно перетащить на другой компьютер и воспользоваться им при условии, что все пути и настройки на этом компьютере будут аналогичными. |
Ну вот… Предварительную работу провели. Теперь запускаем MapInfo и идём Файл>Открыть соединение с СУБД и на вкладке Файловый источник данных выбираем созданный только-что файл MySource.dsn:

Теперь на Панели инструментов СУБД жмём кнопку Открыть соединение 
После этого видим список всех таблиц в нашей базе и выбираем нужную:

Для возможности вносить изменения прямо в базу MS Access выбираем опции, как показано ниже:
![]() |
Тут есть одна небольшая тонкость. Чтобы можно было осуществить прямой доступ к указанной таблице, она должна содержать хотя бы одно проиндексированное поле и не иметь в этом поле повторяющихся значений. На режим связанной таблице(только Чтение) это не распространяется. |
Наконец-то нужная нам таблица открыта:

Теперь, если вы открыли её в режиме Прямого доступа, все изменения в ней будут отражаться и в вашей базе данных! (При условии, естественно, что вы всё сохраните 🙂 … Для этого не забываем Сохранить таблицу и по окончании работы с БД идём Файл>Закрыть соединение с СУБД или жмём соответствующую кнопку на Панели инструментов СУБД :

Как решить аналогичную задачу по подключению к СУБД из ArcGIS 10, можно посмотреть на нашем сайте здесь.
©Simashkov.2011.
02.02.2011 г.

… подхватываем сгенерированный только-что скрипт:

Выглядеть текст скрипта для нашего учебного случая будет приблизительно сл. образом (прим. смысл скрипта в том, что он просто вставляет конструкцией insert into значения, взятые из исходной dbf -таблицы ):

Жмём F5 (или кнопку Выполнить) и в таблице master можем увидеть нашу отконвертированную таким образом dbf-табличку :

О том, как ещё можно экспортировать/импортировать данные из/в MS SQL Server смотрите
© Simashkov.2014
29.03.2014 г.
Ниже приведен пример(образец) оформления в программе Surfer тематической картограммы по показателю кислотности pH для районного агрохимического атласа, созданной в Лаборатории АгроГИС-технологий (г. Калуга). Картограмма создана на основе интерполированной тематической поверхности — в данном случае, по показателю кислотности почв pH по результатам агрохимического обследования Козельского района Калужской области. Масштаб районной картограммы — в 1 см 800 метров.
Пример оформления аналогичной картограммы в ГИС MapInfo смотрите здесь


Далее следует форма настроек импорта сетки .mig :
Так, подготовительную работу провели. Теперь можно непосредственно переходить к решению поставленной задачи. Если расширение Vertical Mapper загружено, то необходимо вызвать панель Менеджера Сеток по соотв. кнопке. Далее жмём на кнопку Analysis>Point Inspection:

Выбираем слой точек, для которого будем извлекать значения растра — points в нашем случае:

Жмём OK и видим, что в новое поле ph5_1 программа занесла значение растра в точке. Теперь наша учебная карта может выглядеть приблизительно так:

Ещё один подход к обсуждаемой теме с использованием расширения Discover представлен в
Как решить аналогичную задачу по извлечению значения интерполированного растра в точке, используя ArcGIS, можно посмотреть на нашем сайте здесь
Прим. от 20.11.2015 В версии MapInfo 15 реализован функционал для извлечения Z-параметра в точке. Более подробно можно посмотреть здесь
© Simashkov.2012
23.11.2012 г.
ArcGIS соответствующее приложение для создания 3D моделей карт — ArcScene. Для начала в нём из приложения ArcCatalog (так проще всего) просто ‘вытягиваем’ мышкой только-что созданную интерполированную поверхность:

В том, что наша 3D карта пока выглядит не совсем изящно, нет ничего страшного. Это всего лишь, условно говоря, пока сырье, полуфабрикат. Сейчас займемся его обработкой. Для начала по контекстному меню Scene Properties в Таблице содержания (ТОС) перепроецируем карту:

В появившейся форме кликаем на вкладку Coordinate System и выбираем проекцию Меркатора (для нашего примера):

Следующий шаг — опять в Таблице содержания становимся уже на поверхность и по меню Properties идём на вкладку Symbology :

… и выбираем более выразительную цветную палитру (ramp), ну например такую:

Теперь настало время подгрузить в сцену топографический планшет — ‘задрапировать’ им нашу поверхность. Опять-таки, просто вытягиваем его мышкой из соответствующего каталога в Окно представления карты:

Прим. Естественно, используемый вами планшет должен иметь ту же пространственную привязку (координаты), что и поверхность. Иначе они попросту говоря ‘разлетятся’.
Поначалу наша сцена может выглядеть не совсем привлекательно:

Приступаем к окончательной доводке нашей карты. Тут есть есть несколько важных технологических момента, которые существенным образом повлияют на качество наше картинки.
Во-первых, становимся на слой топокарты и по меню Properties, идём на вкладку Rendering (Отрисовка) и сдвигаем ползунки в панели Optimize в сторону наилучшего качества:

Второй важный момент. На вкладке Display в опциях интерполяции растра обязательно меняем с принятой по умолчанию for discrete data (для дискретных данных) на любую for continuous data (для непрерывных данных). Это существенным образом улучшит качество картинки топокарты :

Остался ещё важный пункт для создания качественной картинки 3D карты . На вкладке Base Heights (Базовые высоты) выставляем опцию Floating on a custom surface и устанавливаем масштаб отображения высот рельефа:
![]() |
Фактор отображения пропорциональности рельефа (7.5 на рисунке слева) во многом зависит от контекста конкретной 3D сцены и его нужно подбирать индивидуально в зависимости от характера ваших данных. Меньшие значения это фактора соответствуют более ‘плоскому’ отображению рельефа. |
Далее ( по вкусу) можно переходить к ‘водным процедурам’ — попробовать поэкспериментировать на вкладке Display с опциями прозрачности, контрастности и яркости для слоя топокарты и поверхности высот, добиваясь их наиболее выразительной визуализации. Один из таких вариантов сцены представлен ниже:

… или в более крупном масштабе (зуме):

В общем, на мой взгляд, наши усилия не пропали даром. Получилась весьма качественная и наглядная картинка (каждое озерцо находиться в своей каверне).
Ссылки
1. О создании тематической 3D карты в ArcGIS можно посмотреть ещё здесь
2. Как решить аналогичную задачу по созданию 3D карты в MapInfo, можно посмотреть на нашем сайте в этой статье
Выбрать . Далее, как показано выше идём меню Surface>Assign grid cell value и в сл. форме задаём поле, в в которое будем писать извлечённое значение растра:

Жмём OK и после небольших манипуляций можно увидеть приблизительно такую картинку:

В поле ZVal программа записала значение интерполированной поверхности в точке.
Как решить аналогичную задачу по извлечению значения интерполированного растра в точке, используя ArcGIS, можно посмотреть на нашем сайте здесь
© Simashkov.2012
01.12.2012 г.
Каталог Программ и ставим птичку напротив пункта Нарисовать сетку:

Прим. В более поздних 64-х разрядных версиях MapInfo с ленточным интерфейсом инструмент Grid Maker можно найти на вкладке Home>Tools :
После этого в меню Программы появляется пункт Создать градусную сетку. Выбираем его и заполняем реквизиты формы приблизительно следующим образом:
![]() |
Чтобы создать аккуратную сетку (в смысле без лишних областей) желательно заранее определить координаты крайних северных, южных, западных и восточных точек нашей карты — как это сделать, можно посмотреть на нашем сайте тут |
Результат наложения построенной таким образом сетки на нашу карту будет выглядеть приблизительно так:

Но описанная выше утилита Grid Maker работает только в географической системе координат (Широта/Долгота). Если вы попытаетесь с помощью её построить сетку на плоскости в прямоугольной системе координат XY, то скорее всего у вас ничего не получиться:

Для построения «прямоугольных» сеток можно воспользоваться удобной утилитой GridWine, которую можно качнуть отсюда. Для загрузки указанной утилиты идём Программы>Запустить программу MapBasic:

После этого в строке меню появляется пункт Grid. Идём меню Grid>Build и мышкой отмечаем левый нижний и правый верхний углы. Затем указываем шаг сетки. Пусть в нашем случае это будет 25 километров:

Сохраняем построенную таким образом сетку и добавляем её к нашей учебной карте:

Ещё один подход к созданию координатных сеток может быть реализовать с помощью малоизвестного (к сожалению) расширения Discover к ГИС MapInfo. Предположим, что наша исходная карта выглядит так:

Как показано на рисунке выше, для создания сетки идём меню Discover>Map Grid. Далее попадаем в форму настроек координатной сетки:

Достигнутый результат может выглядеть приблизительно так:

Карты с построенными таким образом сетками становятся гораздо более профессиональными, выразительными и грамотно оформленными. К чему мы собственно и стремимся …
Ссылки к статье
1. Как выполнить аналогичную задачу по созданию сеток в ArcGIS можно посмотреть на нашем сайте здесь.
2. О том, как создать координатные сетки в графических редакторах — смотрите на нашем сайте тут
3. Как ещё создать зарамочное оформление градусной сетки с помощью утилиты Planshet в MapInfo смотрите в этой статье
4. В 15-й версии появился еще один способ создания сеток. Более подробная информация здесь— 27.11.2015 г.
©Simashkov.2011.
02.02.2011 г.

Таак, подготовительную работу провели. Теперь можно нанести наши данные на карту. Для этого становимся на нашу табличку, жмём правую кнопку и выбираем Display XY Data:

Появляется сл. диалоговое окно, в котором мы должны указать, из каких колонок брать координаты X/Y:

Если всё было сделано правильно, то сможем увидеть наши точки на карте:

Теперь, при необходимости, можно сохранить наши данные в виде файла-слоя (*.lyr) — правая кнопка> Save As Layer File, или сохранить в базе геоданных — Data>Export Data:

В этом случае необходимо указать базу геоданных, в которой будем хранить наши результаты (как пример):

Если нужно узнать о создании линии по набору точек — смотрите эту
статью Как решить аналогичную задачу в ГИС
MapInfo —
можно посмотреть на нашем сайте здесь
©Simashkov.2011
27.03.2011 г.