Нехитрые советы для пользователей ПК

npk-kaluga.ru

 Coordinate System:

fig10-1881210

Далее выбираем проекцию Transverse Mercator (цифра 1):

fig15-2880205

Жмём на кнопку Select (см. рис. выше цифра 2):

fig11-4494075

 … и ещё далее :

Теперь наша карта приобрела сл. вид:

fig4-1603361

Для добавления нового поля в окне атрибутивных данных интересующего нас слоя river1 выбираем Add Field:

fig7-7338758

… и добавляем поле Len:

fig16-3844276

Теперь становимся на него и выбираем Calculate Geometry(Вычислить геометрию)  :

fig17-3579061

Далее устанавливаем нужную нам размерность длины (метры) и  параметр Length (длина сегмента, в данном случае):

fig8-8259081

Вот теперь получаем верный результат подсчёта длин в той размерности, которая нас устраивает:

fig18-3584828

А для подсчёта статистики колонки выбираем пункт Statistics … :

fig19-6316083

… и видим нужную нам сумму всех длин и прочую статистику колонки Len:

fig9-8658404

Небольшой комментарий. Чтобы выполнить простую манипуляцию по подсчёту длины сегментов, в ArcGIS пришлось проделать невероятные кульбиты. По-моему, идеологи и разработчики из фирмы ESRI здесь явно чего-то перемудрили. Для начинающих это может оказаться непосильной задачей …

©Simashkov.2011

13.08.2011 г.

Назад

Системные и в выпадающем списке Единиц площади выбираем интересующую нас размерность (на рисунке ниже, гектары):

screen6-4380987

Чтобы быстро, скажем, подсчитать сумму площадей всех контуров можно поступить следующим образом. Идём в меню Запрос>SQL и набираем текст так, как показано на рисунке ниже — Sum(Area(obj, «hectare»)). Функции Sum и Area можно выбрать из выпадающих списков Обобщение и Функции соответственно:

calcareasql-9575387

Результатом такого запроса будет созданный список из одной записи и одной колонки

:

calcareasqlresult-2596902

Прим. 26.11.2015 В более поздних версиях MapInfo v12.5 и v15 пункт Запрос SQL можно найти на вкладке Map> SQL Select :

… или на вкладке Spatial :

Однако, продолжим …

Но чаще , все-таки, бывает необходимо вычислить площадь каждого контура и сохранить это значение в таблице. Такую задачу также можно решить с помощью SQL-запроса. Опять таки, идём меню Запрос>SQL и набираем параметры  приблизительно так, как указано на рисунке ниже — id, Round(Area(obj, «hectare»),0.1) «Площадь»:

screen3-3742342

Небольшой комментарий к рисунку выше. В указанном запросе мы добавляем к единственному полю с номером контура id поле со значение площади контура в гектарах, округленное до 0.1(одной десятой). Это округление делает функция Round. А измерение площади производим функцией Area.

В результате можно получить приблизительно такой список. Как видим, в результирующем списке Query1 появилась колонка «Площадь» со значением округлённой до 0.1 гектара площади контура.

screen4-8059207

Существует ещё один, более упрощённый (может быть, даже более удобный) способ заполнения столбца значением площади через пункт меню Таблица>Обновить колонку:

fig1-3331806

В этой форме задаём изменения в столбце

Area

таблицы

Parcels

Жмём на кнопку Составить (см рис. выше) и задаём сл. выражение:

fig2-5290101

Наш обновлённый список будет выглядеть так:

fig4-4808207

Теперь с помощью статистики по колонке легко получить сумму площадей всех контуров и другие статистические параметры по указанному столбцу. Для этого идём в меню Запрос>Статистика колонки.

Результат может выглядеть так:

statcolumns-8921009

Как решить аналогичную задачу по определению площади контуров, используя ArcGIS, можно посмотреть на нашем сайте здесь и здесь.

© Simashkov.2010

05.11.2010 г.

Назад

Режимы :

ris3-3822403

На форме, представленной выше, сначала кликаем Обработка растра, и на сл. форме выставляем опцию Всегда:

ris4-2281329

После нажатия на кнопку Проекция устанавливаем категорию Проекции мира

ris5-1656992

 … и проекцию Меркатора  для нашего учебного примера, как наиболее универсальную:

ris6-7237082

Теперь наша картинка примет сл. вид — карта предстанет в так называемом спроецированном виде:

ris7-1868690

Так, идём дальше. Сейчас самое время заняться созданием координатной сетки. Для этого идём меню Discover>Map Grid:

ris8-2080725

… и далее попадаем в форму настроек километровой сетки. Параметры (для нашего примера) могут выглядеть приблизительно таким образом:

ris9-3390285

Кликнем на OK и теперь наша карта приобрела сл. вид ( в общем, модуль Discover можно использовать и для построения прямоугольных сеток):

ris10-9431246

Далее воспользуемся ещё одной полезной возможностью расширения Discover — создание вида карты в Окне в рамках выбранного слоя. Пусть для нашего примера это будет только-что подготовленная километровая сетка (или слой ramka в рассматриваемом примере). Но для начала её необходимо выбрать. Проще всего это сделать по меню Запрос> Выбрать:

ris11-1815248

… или Запрос>Выбрать полностью (кому как удобнее):

ris12-1156616

Снова идём меню Discover и далее Map Window>Fit Map window to ….

ris15-9973905

Теперь границы окошка нашей карты будет точно подогнаны под размер выбранного слоя. Для создания макета карты без лишних пустых областей, этот момент может оказаться очень полезным. После снятия выделения видим такую картину:

ris16-8493723

Теперь можно непосредственно приступить к созданию макета . Для этого идём Discover>Scaled Output:

ris17-7346083

Попадаем на форму настроек макета:

ris18-5747877  

Для тех

,

кто хочет  создать на макете карты  угловой штамп

,

выставляем опции

TitleBlock

(угловой штамп)

и

Scalebar

(масштабная линейка)

Двигаемся дальше. Если правильно угадали с масштабом на форме выше, то вся наша карта должна лежать в границах  листа печати заданного размера (A3 Потрет для нашего примера, рамка чёрного цвета):

ris25-9247894

Теперь займемся оформлением угловой рамки (штампа). Для этого идём меню Scale Output>Accept Map Position , опять попадаем в форму настроек макета (Scale Output) и видим такую форму настроек угловой рамки.  Здесь необходимо заполнить некоторые поля реквизитов штампа:

ris19-2553068

После этой манипуляции утилита создаст новую карту в виде углового штампа и макет, который может (в первом приближении) выглядеть так:

ris20-4445618

То, что угловой штамп немного ‘отъехал’ — не беда. Берём, и просто подтягиваем его в нужное место  место (как более точно отпозиционировать,  можно посмотреть здесь) :

ris21-5923998

Чтобы поаккуратнее откорректировать угловой штамп,  просто идём в меню Окно в соответствующую карту:

ris22-6029092

Окончательно оформленный учебный макет для нашего  примера может выглядеть приблизительно так:

ris24-2254286

В общем, если вкратце, где-то так о том, как создать карту с использованием MapInfo и модуля Discover. С деталями, предполагаю, сможете разобраться сами …

© Simashkov.2013

18.01.2013 г.

Назад

 Проекция:

screen19-6003318

Но, как и во всяком деле, здесь есть свои тонкости. Первое, что необходимо знать — так это то, что для изменения проекции карты вы должны включить опцию Перепроецировать Всегда (или Оптимизировано) нажав на кнопку Обработка растра (на форме выше):

screen3-3916814

Второе «тайное» знание заключается в том факте, что все слои сверху «подстраиваются» под проекцию растрового слоя. Чтобы наглядно разобраться с этим моментом, проведём следующий небольшой эксперимент.

Пусть имеется растровая карта некой местности в Универсальной проекции Меркатора (UTM) — 36 Северная зона:

screen21-3198971

Теперь для наглядности поместим поверх этого растра координатную сетку и слой административной границы:

screen15-6835309

Как видим, географическая сетка имеет вид трапеции. Запомним этот факт.

Теперь удалим с этой карты вспомогательные слои и поменяем проекцию растра на Долгота/Широта на датуме WGS 84:

screen1-9118272

Теперь снова набросаем слой сетки и административных границ (для наглядности) и увидим сл. картинку:

screen14-8573579

Визуально видно, что сетка приняла прямоугольный характер. Слои сверху «подстроились» под проекцию нижнего растрового слоя! Что, в  общем-то, выглядит довольно логично. Если вы открываете несколько разных слоёв, и все они имеют разную проекцию, то понятно, что всё это хозяйство необходимо привести к какому-то «одному знаменателю» — одной проекции. Логично в качестве такой проекции и взять проекцию нижнего растрового слоя.

То, что разработчики ГИС MapInfo пошли по такому пути говорит следующий факт. Если вы попытаетесь, скажем,  изменить проекцию карты, не включив опцию Перепроецировать всегда ( на форме Обработка растра), то получите сл. сообщение:

screen22-6286465

Иначе говоря, нажав на кнопку Проекции на форме Проекция  вы, на самом деле, изменяете только проекцию растрового слоя. А все остальные слои «подстраиваются» под него.

Теперь логически может возникнуть следующий вопрос — а что будет, если в сборке не будет растрового слоя? Да ничего не будет … :-). В этом случае вы сможете изменить проекцию карты даже с включённой опцией Никогда на форме Обработка растра.

screen23-7534586

В завершении, для интереса, приведём примеры того, как будет выглядеть наша «учебная» сборка в разных проекциях.

Вот так будет смотреться наша карта в Азимутальной проекции  полушарий (Северный полюс):

screen25-6985618

А так в Равноугольной проекции (Европа):

screen28-3065095

Для того, чтобы сохранить ваш слой в перепроецированном виде, необходимо при сохранении копии выбрать соответствующую Проекцию (обведено красным):

screen27-2166496

Как поменять проекции в ArcGIS можно узнать на нашем сайте по этой ссылке.

Назад

©Simashkov.2011.

10.04.2011 г.

Для геопривязки вашей карты в виде растровой картинки в ГИС MapInfo необходимо, чтобы на отсканированном образце присутствовала координатная сетка или нанесённые реперные точки. Кроме того, крайне желательно знать проекцию бумажной карты.

Если вы отсканировали, скажем, топографические планшеты, то проблема координатной сетки будет решена сама собой. Геопривязать такие растры можно по координатам углов трапеции (система координат Долгота/Широта, градусы) или в плановой системе координат (прямоугольная сетка, метры). О том, как это сделать — смотрите информацию здесь на нашем сайте.

Но иногда стоит несколько другая задача. Есть картограмма (или карта) с известным масштабом, но с отсутствующей координатной сеткой. Если для вас не важна географическая привязка, но желательно сохранить масштаб карты (с тем, чтобы в дальнейшем была  возможность промерять по ней  расстояния и площади), то можно поступить следующим образом. Наносим на картограмму реперную сетку (точки) с шагом, ну скажем, 10 см от левого нижнего угла и затем сканируем такую карту. Другой вариант — можно нанести такую реперную сетку, используя какой либо графический редактор (типа Photoshop, см. на нашем сайте здесь или XnView). В общем, будем считать, что проблему реперной сетки вы каким-то одним из способов решили. Далее алгоритм действий следующий.

В ГИС MapInfo открываем исходный растровый файл.

Для этого идём меню Файл>Открыть и выбираем тип файла Растр:

screen1-2791681

Далее появляется сл. диалоговое окно, в котором жмём, естественно (в нашем случае) Регистрировать:

screen2-1693891

Следующий шаг. Видим окно  регистрации растрового изображения:

screen3-1168611

На картинке слева красным обведены нанесённые реперные точки. Для выбора системы координат жмём на кнопку Проекции.

Теперь  для задания координат реперной точки кнопкой «+» приближаем её,  жмём на кнопку Добавить, затем  «тыкаем» курсором в реперную точку:

screen4-9106007

… и далее забиваем в появившемся окне координаты точки:

screen7-1443210

Для регистрации изображения таким образом необходимо забить не менее 3-х точек. Такие опорные точки необходимо разместить по всему периметру карты. После добавления 4-ой точки программа выдаст ошибку (невязку) вашей регистрации:

screen8-4148810

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

screen9-1721792

Здесь методом «научного тыка» начинаем зондировать направление, в котором ошибка регистрации будет снижаться. Делается это «тыканьем» курсора в окрестности реперной точки. На приведённой картинке ошибку регистрации Точки 2 удалось довести до 4 единиц.

Подобным образом необходимо «пройтись» по всем проблемным реперным точкам.

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

screen14-1096413

Такой результат регистрации можно считать приемлемым. Жмём кнопку OK и получаем зарегистрированную (закоординированную) карту. Теперь по ней можно промерять расстояния и площади. Для более-менее удовлетворительной привязки необходимо минимум 4.. 5 точек (4 по краям карты и одна в центре). При увеличении количества точек точность привязки будет возрастать (но и лепить скажем, для привязки внутрихоза более 20, наверно, большого смысла нет).

И в завершении, небольшая ложка дёгтя. К сожалению (imho), назвать интерфейс регистрации растра в MapInfo идеальным нельзя. Непонятно, например, почему нет возможности окно регистрации изображения  развернуть во весь экран. И в этом смысле, от версии к версии в интерфейсе регистрации практически ничего не меняется… Но это так, к слову.

Способ регистрации карты с использованием карты-источника рассмотрен по этой ссылке

Как можно зарегистрировать карту, используя  ArcGIS —  смотрите  на нашем сайте здесь.

Назад

© Simashkov.2011

26.02.2011 г.

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:

screen1-3020846

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

screen6-8802866

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

screen3-6160384

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

screen4-2454800

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

screen5-8602860

Как создать и протестировать  подключение к базе данных из средства разработки MS Visual Studio — смотрите здесь

27.04.2011

Назад

 Администрирование,  ищем пункт Источник данных(ODBC) и дважды щёлкаем по нему:

screen1-6394429

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

screen2-3113987

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

screen11-6472019

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

screen3-7487198

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

screen4-2594695

Созданный файловый DSN является ничем иным, как простым текстовым файлом, в котором хранятся параметры созданного соединения и его можно просмотреть любым текстовым редактором:

screen5-9997329

Преимущество созданного файла заключается в том, что им можно воспользоваться и в других приложениях, сославшись на него (естественно, только для подключения к указанной базе по указанному пути  с указанным драйвером).

Этот файл даже можно перетащить на другой компьютер и воспользоваться им при условии, что все пути и настройки на этом компьютере  будут аналогичными.

 Ну вот… Предварительную работу провели. Теперь запускаем MapInfo и идём Файл>Открыть соединение с СУБД и на вкладке Файловый источник данных выбираем созданный только-что файл MySource.dsn:

screen6-2118802

Теперь на Панели инструментов СУБД жмём кнопку Открыть соединение screen7-8289135

После этого  видим список всех таблиц в нашей базе и выбираем нужную:

screen8-3527570

Для возможности вносить изменения прямо в базу MS Access выбираем опции, как показано ниже:

screen12-7949347

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

Наконец-то нужная нам таблица открыта:

screen9-7145440

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

 screen13-5929516

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

©Simashkov.2011.

02.02.2011 г.

Назад

Открыть :

sql4-8665987

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

sql5-3363585

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

sql6-3426138

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

sql8-9196886

О том, как ещё можно экспортировать/импортировать данные из/в MS SQL Server смотрите

здесь

© Simashkov.2014

29.03.2014 г.

Назад

Ниже приведен пример(образец) оформления в программе Surfer тематической картограммы по показателю кислотности pH для районного агрохимического атласа, созданной в Лаборатории АгроГИС-технологий (г. Калуга). Картограмма создана на основе  интерполированной тематической поверхности — в данном случае, по показателю кислотности почв pH по результатам агрохимического обследования Козельского района Калужской области. Масштаб районной картограммы — в 1 см 800 метров.

Пример оформления аналогичной картограммы в ГИС MapInfo смотрите здесь

kze_surf1200x1700-6209038