Как посчитать площадь в мапинфо

Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли

MapInfo Пересечение объектов

MapInfo Пересечение объектов

Сообщение RobWork » 02 апр 2019, 15:03

Работаю в MapInfo. У меня есть две карты (допустим, Карта1 и Карта2), каждая из которых состоит из полигонов (объектов). Как найти площадь пересечения каждого объекта Карты1 с каждым объектом Карты2?
Для решения данного вопроса я попытался воспользоваться следующим SQL-запросом:
SELECT sum(AreaOverlap(Карта1.obj, Карта2.obj))
WHERE Карта1.obj Contains Part Карта2.obj

Казалось бы, вопрос решен. Но нет: в ответе получается слишком маленькая площадь пересечения 124030,38. Хотя у Карт площадь по 8 миллионов каждая и они графически явно пересекаются во многих местах.
В чем ошибка в моем запросе? Я действительно не понимаю механику функции или как объекты взаимодействуют между собой при сравнении.
Прилагаю скриншоты запроса, Карты1, Карты2

Re: MapInfo Пересечение объектов

Сообщение MYS » 02 апр 2019, 22:01

Попробуйте использовать Intersects вместо Contains Part и группировку по идентификаторам объектов (предположим, Карта1.ID и Карта2.ID). Ну, и единицы площади указать.

SELECT sum(Area(Overlap(Карта1.obj, Карта2.obj), «sq km»), Карта1.ID, Карта2.ID
from Карта1, Карта2
WHERE Карта1.obj Intersects Карта2.obj
Group by Карта1.ID, Карта2.ID
into selection

Источник

Способ определения площадей с помощью программных средств

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

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

Для определения площадей я использовал программу MapInfo.

4.2 Точность определения площадей по карте (плану)

Ошибка в положении точек контура земельного участка приводит к ошибкам в определении его площади:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо,

где Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо— ошибка положения точки на карте или плане

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо— длина замыкающей или диагонали

По этой формуле можно определить СКО площади фигуры любой формы. Длины замыкающих или диагоналей (Di) могут быть выражены через расстояние между точками и внутренние углы bi при точках i.

На практике, как правило, стараются проектировать прямоугольные земельные участки. В этом случае для фигуры прямоугольной формы с соотношениями длины и ширины 1:К, получим:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Рисунок 10 – Фигура прямоугольной формы

Из рисунка 10 видно, что S2 = S1 ´ K, тогда

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

С учетом этого, имеем:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Чтобы формулам принять вид, удобный для расчетов точности определения площадей на планах (картах) различных масштабов, выразим величины, входящие в эту формулу, в сантиметрах на плане (mt), а mp и площадь P в гектарах на местности, тогда будем иметь:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо,

В данном проекте все площади были подсчитаны в программе MapInfo.

Результаты расчетов площадей угодий аналитическим и графическим способами представлены в ПРИЛОЖЕНИИ В.

Источник

СИСТЕМА (от греч sysntema — целое

Составление выражений в MapInfo


Простые выражения

Выражение составляются с использованием названий колонок (полей) и констант, функций и операторов.

Простейшие возможные выражения состоят из названий колонок, например:

Такие выражения можно использовать в команде ВЫДЕЛИТЬ УСЛОВНО, чтобы указать, какие данные должны быть отображены на карте. В команде ОБНОВИТЬ КОЛОНКУ подобное выражение задает данные, которые следует использовать при пересчете таблицы.

Чуть более сложными являются выражения:

7. НАС_1990 / ПЛОЩАДЬ

Первые три из них используют оператор сравнения. Первое выражение задает проверку: было ли в 1990 году население больше (>) заданной константы (17893). Второе проверяет, какие значения в колонке НАС_1990 меньше или равны ( «Выхино», то запись попадает в выборку. Такие выражения могут быть применены в команде ВЫБРАТЬ или в окошке «С условием» команды SQL-ЗАПРОС. Эти команды делают выборку записей из таблицы, удовлетворяющих заданному выражению.

Примеры 6 и 7 используют арифметические операторы. В примере 6 значения в колонке НАС_1980 умножаются (*) на константу (1.2), а в примере 7 значения из одной колонки (НАС_1990) делятся на значения из другой колонки (ПЛОЩАДЬ).

В примере 8 применена функция округления, округляющая значение выражения «НАС_1990 / ПЛОЩАДЬ» до ближайшей десятой доли (.1).

Выражения 6, 7 и 8 не содержат операторов сравнения и поэтому не могут быть использованы в команде ВЫБРАТЬ или в окошке «С условием» команды SQL-ЗАПРОС. Однако Вы можете применить их в командах ВЫДЕЛИТЬ УСЛОВНО, Обновить колонку или в окошке «Выбрать колонки» команды SQL-ЗАПРОС.

Сложные выражения

9. НАС_1990 > НАС_1980*1.2

Сложные выражения получаются путем комбинации простых выражений.

Сложные выражения создаются в основном двумя способами:

Заменой названия колонки или константы на простое выражение.

Соединением выражений с помощью логических операторов (and, not, or).

Задание постоянных значений (констант)


Строки символов

Строки символов должны быть заключены в двойные кавычки. Таким образом MapInfo отличает строки символов от названий колонок.

Числа

При задании числовых констант допустимы только цифры, десятичная точка, используемая как разделитель целой и дробной части, и знак минус для отрицательных чисел.

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

Операторы


Математические операторы:

^ возведение в степень A ^ B

Разрешаются также следующие виды вычислений:

· Прибавление числа к дате с получением новой даты

· Вычитание числа из даты с получением новой даты

· Вычитание даты из даты с получением числа

Строчный оператор:

+ соединение строк или строковых выражений.

Строки должны быть заключены в двойные кавычки. Рассмотрим, например:

Операторы сравнения:

Чтобы выбрать все строки таблицы, соответствующие объектам с плотностью населения менее 250 человек на квадратный километр:

Выбрать все объекты к северо-востоку от Нью-Йорка:

CentroidX(obj)>-73.997890 and CentroidY(obj)>40.750450

Выбрать все объекты к северу или востоку от Нью-Йорка:

CentroidX(obj)>-73.997890 or CentroidY(obj)>40.750450

Результат: Возвращает координату Y центроида объекта, которая является значением широты на

Возвращает периметр таких объектов, как многоугольник, эллипс, прямоугольник и скругленный прямоугольник.

Примеры: Вычисление периметра объекта:

Вычисление периметра объекта в километрах:

Вычисление периметра в метрах:

Выбрать все объекты, периметр которых превышает 35 миль:

Математические функции

Abs(num) Возвращает абсолютное значение числа (модуль).

Cos(num) Возвращает косинус числа num в радианах.

Int(num) Возвращает целую часть числа.

Maximum(num,num) Возвращает наибольшее.

Minimum(num,num) Возвращает наименьшее.

Round(num1,num2) Возвращает число (num1), округленное до ближайшего кратного num2.

Sin(num) Возвращает синус числа num в радианах.

Tan(num) Возвращает тангенс числа num в радианах.

1. Выяснить максимальный номер дома для отрезка улицы в файле StreetInfo:

2. Выяснить минимальный номер дома для отрезка улицы в файле StreetInfo:

3. Выбрать все строки таблицы, для которых средний возраст равен 42:

Round(СРЕД_ВОЗРАСТ, 1) = 42

В зависимости от типа данных, это выражение может дать лучшие результаты, чем прямое сравнение со значением (СРЕД_ВОЗРАСТ=42). При обычном сравнении со значением 42 MapInfo не выберет записи со значениями, скажем, 41.7, 42.1 или 42.4.

Строковые функции

Chr$(num) Возвращает символ, заданный кодом.

DeformatNumber$( str ) Обладает обратным действием к функции FormatNumber$; удаляет разделители тысяч из строки.

FormatNumber$( num ) Возвращает строку, представляющую форматированную строку. Эта функция проще, чем Format$, но менее гибкая (например, всегда вставляет разделитель тысяч).

InStr(num,str1,str2) Возвращает позицию первого символа подстроки в строке.

LCase$(str) Возвращает строку, написанную в нижнем регистре.

Left$(str,num) Возвращает первые num символов строки str.

Len(str) Возвращает число символов строки.

LTrim$(str) Удаляет все пробелы из начала строки.

Возвращает num2 символов из str, начиная с символа, номер которого определен параметром num1.

Proper$(str) Возвращает строку, написанную в смешанном регистре(первый символ каждого слова заглавный).

Возвращает последние num символов строки str.

RTrim$(str) Удаляет все пробелы из конца строки.

Str$(expr) Возвращает строковое представление выражения.

UCase$(str) Возвращает строку, написанную в верхнем регистре.

Val(str) Возвращает число из строки, например, Val(«18») равно 18.

2. Вы готовитесь нанести на карту города банки. Для этого нужно найти все строки, содержащие подстроку «Банк» в колонке «Название». Слово «Банк» может быть как отдельным словом в названии, так и сливаться с другими словами. Вы также не уверены, что слово «Банк» написано везде большими буквами. Поэтому составляете выражение:

Это выражение выбирает все строки таблицы, поле номера телефона в которых начинается на «404».

Источник

GIS MapInfo FAQ

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Часть 2

Со времени публикации первого FAQ по ГИС MapInfo на этом сайте прошло немало времени и накопилось немало вопросов. На некоторые из них я отвечал лично, на некоторые посредством электронной почты или icq. Пришло время оформить это общение в виде следующей, второй части FAQ.

Позволю себе несколько оговорок. Прежде всего: для всех приведенных ниже случаев, по крайней мере, на стадии агрегации, использовалась MapInfo Professional версии 10.0. Соответственно, для иных версий вид интерфейса может существенно отличаться. В нескольких вопросах использовались решения, предложенные на страницах форумов команды GT4MI и проекта GIS-Lab, за что им огромное спасибо.

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

GIS MapInfo FAQ

Как отсортировать таблицу по нескольким колонкам?

Действительно, в MapInfo нет встроенных средств, позволяющих эффективно сортировать данные. Опция «Упорядочить по колонке» инструмента «Выбрать» из меню «Запрос» отсортирует данные по возрастанию и только по одной колонке. Однако, можно обратиться к языку SQL.

Откроем окно построения запроса SQL (меню «Запрос» → «SQL-запрос»). Заполним поля следующим образом:

Результат выбора будет отсортирован по возрастанию и помещен в таблицу Selection.

В случае, если необходимо отсортировать по убыванию, придется писать запрос вручную. Открываем окно MapBasic (меню «Настройки» → «Показать окно MapBasic») и пишем:

select * from ИМЯ_ВАШЕЙ_ТАБЛИЦЫ order by ИМЯ_ПЕРВОЙ_КОЛОНКИ asc, ИМЯ_ВТОРОЙ_КОЛОНКИ desc into Selection Browse * From Selection ‘ если надо показать результат в окне Списка Map * From Selection ‘ если надо показать результат в окне Карты

Ключевым, в данном случае, моментом является построение запроса SELECT c параметром «ORDER BY» (сортировать по…) c уточнениями «ASC» (по возрастанию) и/или «DESC» (по убыванию).

Результирующую выборку Selection необходимо сохранить (меню «Файл» → «Сохранить копию» → «Selection»).

Как сделать, чтобы все подписи на чертеже были видны?

Перетащите Панели Инструментов на их законное место. Сделайте правый клик мышкой по Панели Инструментов. В появившемся окне выберите чек «Запомнить».

Тут возможно двоякое толкование проблемы:

В первом случае решение вопроса довольно простое – в свойствах слоя (вызывается из Управления Слоями, двойной клик по оформляемому слою) в настройках правил подписывания следует отметить две опции: «Разрешить перекрытие текста» и «При перекрытии попробовать другое положение». Также не мешает проанализировать и проверить другие опции, такие как:

В случае, если подписи накладываются на элементы чертежа, ничего, кроме ручного разнесения подписей в окне Карты предложить не могу. Единственно – их не обязательно при этом двигать мышкой, зачастую достаточно указать каждой подписи ее положение в стандартном диалоге:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

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

Почему MapInfo всегда предлагает сохранять в «Мои документы»?

Потому что у вас так настроены пути рабочих каталогов.

Действительно, по умолчанию, после инсталляции MapInfo домашним каталогом, или в терминологии программы, стандартным каталогом размещения таблиц / рабочих наборов, служит каталог «Мои документы» конкретного пользователя. Настроить пути каталогов можно либо ДО инсталляции, путем внедрения в папку установки модификатора MODE.INI (см. документацию по инсталляции программы), либо непосредственно в процессе использования.

Для того, чтобы изменить пути размещения тех или иных рабочих файлов MapInfo, необходимо вызвать окно их настройки: меню «Настройки» → «Режимы» → «Каталоги…»

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Выделив соответствующую строку в окне «Стандартные каталоги MapInfo» и нажав на кнопку «Изменить» можно указать любой требуемый каталог.

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

Как изменить вид курсора?

При создании новых линейных или площадных объектов MapInfo при незаконченном построении линии имеют тусклый серый цвет. В ряде случаев это довольно неудобно. Например, если вести оцифровку по изображению, заданному в градациях серого цвета, или просто по объекту с заливкой B1, строящуюся линию попросту не будет видно. К сожалению, разработчики до сих пор не реализовали хотя такую элементарную вещь, как изменение цвета фона окна Карты, не говоря уже о настройках стиля линии при создании объекта.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

И если уж работать становиться совсем некомфортно, можно попробовать изменить стиль курсора наведения. По умолчанию он тоже не слишком броский, однако, это вполне поправимо.

Для решения этой проблемы потребуется программа – редактор ресурсов. К примеру, бесплатный и запускающийся без инсталляции Resource Hacker.

Изображение курсора находится в файле mires.dll (для версии 10.0) или mires[НОМЕР_ВЕРСИИ].dll – для более ранних версий. Запустив ResHacker, ищем указанный файл в корневом каталоге MapInfo (по умолчанию: \MapInfo\Professional\mires.dll) и открываем его в редакторе («Файл» → «Открыть»).

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

В левой панели ищем куст с именем «Cursor» и разворачиваем его. В этом кусте описаны все курсоры, которые использует MapInfo. Нам нужен курсор с номером 11 – для версии 10.0 или 13 – для версии ниже. Развернув курсор и убедившись, что изображение совпадает, можно приступить к замене. В меню «Действия» выбираем пункт «Замена курсора». Откроется диалоговое окно, с фокусом в нужной позиции в поле «Заменить курсор». Теперь надо открыть вторично файл ресурсов mires.dll кнопкой «Файл с новым курсором» и выбрать новый курсор в поле «Новый курсор» и нажать кнопку «Заменить».

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Осталось только сохранить отредактированную dll (меню «Файл» → «Сохранить») и запустить MapInfo заново.

Единственно – небольшое предостережение и совет. Все правки вы вносите на свой страх и риск, а поэтому – сделайте предварительно копию оригинального файла mires.dll, так как функции Undo в редакторе не предусмотрено.

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

UPD : Пока писался этот FAQ вышла новая версия MapInfo Professional 10.5.2, в которой – о, чудо! – курсоры стали более-менее заметны. Ждем настроек типа линии 🙂

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как сохранить готовый отчет?

Сохраните рабочий набор (меню «Файл» → «Сохранить Рабочий Набор…» или Ctrl+K). Оформление отчета, легенды, содержание косметического слоя, оформление и порядок слоев, набор открытых таблиц и вызванных окон – все, что не относится непосредственно к самим данным, но используется в работе – все это сохраняется MapInfo в рабочем наборе.

Если надо сохранить в какой-либо внешний формат, например, в растр, используйте команду «Экспорт окна» из меню «Файл».

Почему вычисленная площадь не совпадает с площадью по F7?

Потому что, скорее всего, используется проекция, отличная от План-Схемы. Согласно справке MapInfo:

«В большинстве случаев MapInfo Professional проводит либо декартовы, либо сферические вычисления. Обычно выполняются сферические вычисления; если координатная система – план-схема, то выполняются декартовы вычисления.»

Исходя из того, что функция Area() возвращает именно площадь географического объекта, результат ее вычислений явно зависит от выбранной проекции. В то время как сведения, полученные при вызове окна Геоинформации (клавиша F7), вычисляются программой с использованием функции CartesianArea(), которая возвращает значение площади, рассчитанное по декартовым алгоритмам.

Таким образом, результат вычислений функций Area() и CartesianArea() совпадут только для СК «План-Схема». В остальных же случаях, за исключением данных в координатах Долгота/Широта, для которых функции CartesianArea() возвращает ошибку, результаты вычислений этих функций будут различны.

А где в MapInfo X и Y?

Как ни странно – любой из кратких ответов не будет абсолютно корректными.

Прежде всего, необходимо понимать, что X и Y – это не более чем УСЛОВНЫЕ обозначения осей абсцисс и ординат в Декартовой системе координат.

По сложившейся традиции, в математике обозначение X’X принадлежит абсциссе, Y’Y – ординате. Представить это можно как полуось 0X направленную вправо, а 0Y – вверх.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

ГЕО-науки же определяют местоположение объектов не на плоскости, а на сфере, и оперируют понятиями Широта и Долгота. Обозначение Широты в геодезии принято как B, Долготы как L.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Вид шара. Экватор (синий) делит шар пополам и пересекает меридианы (жёлтый) под углом 90°. Все сплошные линии этого рисунка — ортодромии. Пунктирные линии — линии одинаковой широты.

Однако, обозначения B и L применимы только для величин, исчисляемых в градусной мере, а для метрических используются те же самые X и Y соответственно. Так, на примере координат Останкинской телебашни:

градусная мера (WGS-84)метрическая мера (UTMN zone 37)
B=55° 49′ 11,0885″X=6186890.12 м
L=37° 36′ 41,9837″Y=413012.96 м

где X – это расстояние на север от экватора до объекта, равное примерно 6200 км, а Y – это (500000 – 413012.96) = около 86 км до осевого меридиана 37 зоны.

Таким образом, можно сказать, что, в частном случае, X – ось север-юг, а Y – ось запад-восток, т.е. оси географической СК повернуты на 90° относительно Декартовой системы.

И вот только теперь, разобравшись с определениями, можно ответить на заданный вопрос.

Итак, в MapInfo используется математическая система координат. Ось Y направлена на север (в нашем полушарии), ось X – на восток. Или же:

Широта=Latitude=B=Север=Y
Долгота=Longitude=L=Восток=X

Как видите, изрядная путаница. Поэтому рекомендую использовать термины Широта/Долгота для градусов и Север/Восток для метрических измерений.

Какая конфигурация ПК оптимальна для работы с MapInfo?

MapInfo, в отличие от многих программ +/- аналогичного назначения, крайне не требовательна к системным ресурсам. Вот перечисление минимальных требований к системе для ОС Windows XP / Windows Vista / Windows 7:

Как видно, требования весьма скромные. Таким образом, можно заключить, что на любом современном офисном компьютере MapInfo будет чувствовать себя так же хорошо, как и на самом «навороченом» по железу.

Получается, нет смысла приобретать мощную видеокарту, с 3D-ускорителем – MapInfo не использует ее ресурсы. Нет смысла ставить 2х-4х-8-ядерные процессоры – MapInfo не использует их ресурсы. Есть смысл увеличить производительность ядра, т.е. тактовую частоту процессора, объема кеша и тактовую частоту внешней шины, а также объем оперативной памяти. Но выигрыш, боюсь, будет не столь значительным, как вложение денег. Объем же жесткого диска регламентируется только объемом пользовательских данных. Единственное замечание – пожалуй, было бы целесообразно организовать хранение данных на отдельном от ОС и самой MapInfo диске, чтобы избежать потенциально прерывания на запросы операционной системы или программы.

Вместе с тем, следует учитывать, что MapInfo испытывает определенные трудности с выводом на печать больших объемов данных. Так что, полагаю, целесообразно потратиться на хороший плоттер, желательно со встроенной памятью, и – в случае сетевой печати – хороший, качественный принт-сервер.

Почему при построении узлы «прыгают»?

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

Что бы разобраться с тем, почему так происходит, придется вспомнить, что MapInfo хранит свои координатные данные в виде 32-битных целочисленных переменных. И только потом, при ответе на запрос пользователя, переводит, что называется, «на лету» в 64-битные числа с плавающей точкой. Возможно, возникнет вопрос: «а почему бы сразу не хранить координаты в виде 64-битного числа, типа 153.34125?» Но, как ни парадоксально звучит, такой метод был бы намного более медленным и неэффективным из-за особенностей компьютерных вычислений. Да и вообще, в программировании самое простое решение далеко не всегда – самое быстрое.

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

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Точность позиционирования будет равняться (+1000000000 – (-1000000000)) / 2000000000 = 1 (метр). 1 МЕТР. Это, согласитесь, очень много. Но стоит изменить хотя бы до таких значений:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

и точность уже будет совсем другой (0 + 100000000) / 2000000000 = 0.05 метр = 5 см. Совсем другое дело, хотя и этого недостаточно. Значит – надо сокращать диапазон координат рабочей области и дальше, пока значения точности не станут приемлемыми.

Хорошо, это «План-Схема». Границы рабочей области задаются явно и их несложно изменить (меню «Файл» → «Сохранить копию», в окне выбора файла есть кнопка «Проекция»). А вот как быть с предустановленными проекциями, с той же Гаусса-Крюгера? Точность позиционирования выше уже приводилась – около 10 см, что чрезвычайно много для комфортной работы. Обратимся к Руководству Пользователя MapInfo Professional, раздел «Работа с системами координат и проекциями»:

Вы можете указать предельные границы для координатной системы в файле MAPINFOW.PRJ.
Чтобы сделать это, добавьте 2000 к номеру проекции и укажите границы после списка параметров проекции. Общая форма следующая:
имя, номер_проекции + 2000, параметры_проекции, x1, y1, x2, y2

Руководствуясь полученными знаниями и здравым смыслом, откроем в блокноте файл MAPINFOW.PRJ (находится в корневом каталоге программы) и найдем запись требуемой проекции:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

«GK Зона 7 (Пулково 1942)\p28407», 8, 1001, 7, 39, 0, 1, 7500000, 0

правим в соответствии с Руководством:

Строка приобретет вид:

«GK Зона 7 (Пулково 1942)\p28407», 2008, 1001, 7, 39, 0, 1, 7500000, 0, 6500000.0, 5000000.0, 8500000.0, 7000000.0

Рассчитаем полученную точность^

Почему не получается редактировать узлы прямоугольника?

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

Как автоматически расставить точки в вершинах полигона?

Автоматически не получится. В MapInfo нет подобного встроенного инструмента. Следует воспользоваться одной из сторонних утилит, их много, в том числе в составе официально диска установки программы (папка RUSUTIL).

Это если требуется делать эту операцию постоянно и массово. В случае разового использования вполне подойдет приведенный ниже способ «полуавтоматического» создания точечных объектов в узлах выбранного полигона.

Для начала в окне Карты делаем какой-либо слой редактируемым, выбираем исходный регион и открываем окно MapBasic (меню «Настройки» → «Показать окно MapBasic»).

В открывшемся окне вводим следующий код:

Dim i as Integer, obj as Object Set CoordSys SelectionInfo(1) Selection obj=Selection.obj i=0 i=i+1 Create Point (ObjectNodeX(obj,1,i),ObjectNodeY(obj,1,i))

После окончания ввода (подтверждаем ввод нажатием клавиши Enter) сформируется точка в первом по счету узле выбранного объекта. Затем следует переместить курсор опять на строку 3 и опять нажать Enter, и так – пока все узлы не будут пройдены. Если надо сформировать точки на еще один полигон – перемещаем курсор на строку 2 и повторяем все действия заново.

Скачал утилиту для MapInfo, куда мне ее положить?

Никуда модуль, в принципе, класть не надо. Вернее, так – от простого перекладывания файла толку не будет.

Есть, как минимум, 3 варианта запуска утилиты MapBasic (*.MBX):

Надо заметить, что где и как отобразится запущенная утилита, зависит от ее функционала. Стандартные места размещения (если только у автора не было каких-либо особых предпочтений) это:

Почему не все подписи переводятся в текст?

Известная проблема. При переводе подписей в текстовые объекты преобразуются только те, что видны в окне Карты. Ну, еще те, что двигали руками. А в чем причина?

Для перевода подписей в надписи в MapInfo используются 2 программы из стандартной поставки: «Автоподписи» (AUTOLBL.MBX) и «Подписи»(LABELER.MBX) и всего 1, насколько мне известно, оператор MapBasic – AutoLabel. К сожалению, цитирую из Справочника: « Подписываются только те объекты, которые в данный момент видны в окне Карты. » Таким образом, это не ошибка программы, это ее естественное поведение.

Тут дело в заключается в том, что MapInfo не хранит надписи (как, впрочем, и многое другое) на карте, а динамически подгружает в видимом окне. За счет чего, кстати, и достигается быстродействие программы и непритязательность к ресурсам. Однако, это не позволяет преобразовать подписи всех объектов в текст, если они не вмещаются в окно.

Решения, хорошего и качественно, здесь нет. Есть паллиативы.

Во-первых, можно «подвигать» подписи. Тогда они «заякоряться» на карте и будут видны всегда.

Можно выставить масштаб окна, вмещающий всю площадь работ и подписать объекты минимальным размером шрифта. А после преобразования, выставив нужный масштаб, указать нужный размер шрифта текста. Но есть проблемы.

Есть еще один способ. Выставить нужный масштаб, преобразовать подписи, сдвинуть экран на известную величину, преобразовать подписи, сдвинуть экран… Ну и так далее, пока вся площадь не будет обработана.

Можно еще комбинировать способы. Идея не ахти, но и само использование текста не вполне соответствует парадигме ГИС, не так ли?

Как экспортировать карту в растр?

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

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Правда, как всегда, есть нюансы. Указанная опция экспортирует в растр именно окно, т.е. то, что видно на экране, а не всю карту. Можно попробовать показать в окне всю карту, а потом, при экспорте, увеличить разрешение: чем больше dpi, тем четче выглядит картинка. Однако это не снимает проблему генерализации самой карты, так как в масштабе 1:1000 и в масштабе 1:10000 карта выглядит все по разному.

Поэтому рекомендуется экспортировать в растр не само окно Карты, а предварительно оформленный Отчет. Там-то уж масштаб можно настроить точно. Для этого нажимаем F5 и в появившемся диалогом окне указываем опцию «Чистый лист». Далее следует настроить размер листа, на котором мы собираемся разместить карту. Это делается из «Настроек печати» в меню «Файл». После того, как лист отчета стал нужного размера, на него можно поместить рамку, в которой будет отображаться карта. Инструментом «Рамка» из Панели Инструментов Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфорисуем прямоугольник на листе отчета, а затем настраиваем все нужные параметры: какое окно вывести в рамку отчета, каковы размеры рамки и какой масштаб отображения. Кстати, стиль оформление рамки задается той же кнопкой, что и стиль полигонов.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

После того, как отчет оформлен, его можно так же экспортировать в растр.

Остается решить одну проблему. Окно Отчета ограничивает рабочее поле стандартными размерами листа. Далеко не все принтеры позволяют установить пользовательские размеры бумаги и даже самые лояльные не позволят сделать лист, размером больше, чем А0. Что делать, если надо экспортировать именно карту и именно всю и именно в нужном масштабе, а размеры карты превышают возможности принтера? Тут на помощь приходит виртуальный принтер PDF – MapInfo PDF Printer или любой другой.

Печать будем производить из окна Карты. Настройки масштаба самой карты на данном этапе не важны. Нажимаем Ctrl+Р (меню «Файл» – > «Печатать…»), в диалоге «Печать» жмем на кнопку «Режимы». Появится диалог «Печать карты»:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

В этом диалоге выставляем требуемый масштаб и переписываем (или запоминаем) получившиеся величины ширины и высоты. Приняв изменения, в том же диалоге печати нажимаем кнопку «Свойства» и на вкладке «Параметры бумаги» выбираем пользовательский размер Custom. Кнопка «Произвольный» позволит задать размеры бумаги, что и надлежит сделать, вспомнив записанные ранее.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Все. Теперь достаточно нажать 3 раза ОК и растровый файл в формате PDF будет сохранен там, где вы укажите.

Ненормальное поведение MapInfo.

Программа перестала загружаться или выдает при загрузке непонятные сообщения? Объекты не выбираются, выборка Selection недоступна, при SQL-запросе программа вылетает с ошибкой?

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

Как в MapInfo показать нужный кусок карты?

Если известны точные координаты центра окна, то через диалог «Показать по-другому» (ЛКМ → «Показать по-другому» или соответствующий инструмент на Панели Инструментов Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо). Введите координаты в поля «Центр окна X / Y» и нажмите ОК.

Если необходимо найти и показать на карте выбранный объект/объекты, то можно воспользоваться командой «Найти выборку» из меню «Запрос». «Горячие» клавиши для поиска выборки:

В результате выполнения этой команды окно Карты будет отцентрировано по центроиду выборки. Учитывайте, что при излишне большом или излишне малом значении масштаба окна Карты селектированные объекты могут быть попросту не видны.

Как найти все полигоны с «дырами»?

Список сложных полигонов можно получить при помощи SQL-запроса, а вернее, двух подряд. Откройте окно MapBasic и введите следующую строку:

Select * from ИМЯ_ВАШЕЙ_ТАБЛИЦЫ Where Int(ObjectInfo(obj,21)) Into TempTable Select * from TempTable Where Int(ObjectInfo(obj,21))>1

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

Почему в список выводятся округленные координаты?

Скорее всего, потому, что для хранения координат используется поле вещественного типа Float. Настройки поля таковы, что в окне списка число в ячейке отображается с двумя знаками после запятой. Хотя хранит в памяти гораздо большее количество знаков, и если щелкнуть мышкой по значению в ячейке, в этом можно убедиться лично:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

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

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Теперь все числа будут отображаться с максимальным количеством знаков после запятой.

Как лучше оформить таблицу в Отчете?

Отсутствие в MapInfo встроенного инструмента создания и оформления таблиц в Отчете заставляет идти на различные ухищрения. Каждый из нижеприведенных способов в чем-то лучше и в чем-то хуже другого. Однако сразу надо оговориться – идеального решения, увы, не существует. Итак…

Если данные занесены в таблицу MapInfo, необходимо открыть эту таблицу в окне Списка, а затем поместить в окно Отчета рамку (фрейм) с этим списком. Метод хорош своей простотой и доступность, однако обладает рядом недостатков. Не все данные удобно хранить в таблицах MapInfo, не все данные надо выводить в отчете. Можно настроить положение и число колонок Списка (меню «Список» → «Отобрать поля»), но нельзя изменить названия колонок и оформление таблицы.

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

Из альтернативных вариантов, также, не менее очевидный – использовать встроенный генератор отчетов Cristal Report. Но… Опять «но». Встроенный в MapInfo Cristal Report, из-за особенностей лицензирования этого продукта не позволяет встраивать в свои отчеты динамическую картинку из Карты. В официальной справке предлагается экспортировать изображение в растр и вставлять его затем как картинку. И хотя подобная проблема довольно просто решается средствами MapBasic, готовых решений я пока еще не видел. Плюс к тому, если не стоит задача вывода нескольких не то что десятков – сотен и тысяч однотипных отчетов, результат не покроет трудозатраты на создание шаблона. Всерьез рассматривать этот способ создания таблицы я бы не стал, по крайней мере, исходя из того, что те, кто реально могут это сделать в Cristal’е – не задаются вопросом «как». Увы.

Поэтому следует рассмотреть иные пути решения проблемы. К примеру, включить таблицу в отчет как растр.

Для этого потребуется установленный в системе какой-нибудь виртуальный принтер с возможностью печати в растр, например, PDFCreator. Создаем таблицу в, допустим, Microsoft Word и отправляем ее на печать через PDFCreator, выбрав в качестве выходного формата любой из растровых (но лучше PNG – оптимальное сочетание размер/качество).

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

В результате получится растровая копия таблицы. Затем все просто – открываем растр в MapInfo в новом окне Карты и вставляем фреймом в отчет. Растр можно отрывать даже без регистрации, т.е. в режиме «Показать», но тогда трудно будет подобрать масштабный коэффициент. Если требуется точное соблюдение размера шрифта, то придется регистрировать. Выбираем проекцию «План-Схема (сантиметры)» и, выбрав начало какой-нибудь колонки за 0, привязываем растр по размерам колонок/строк. В фрейме же выставляем после регистрации масштаб 1:1.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Что же касается минусов подобного решения, то они очевидны. Множество промежуточных форматов и телодвижений, необходимость держать на диске кучу дополнительных файлов, и несколько открытых дополнительных окон в рабочем наборе. И что самое печальное – для того, чтобы поменять один единственный символ всю последовательность манипуляций, кроме, разве что, регистрации растра, придется повторить заново. Но для окончательного оформления чертежа для печати способ очень даже неплохой.

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

Можно попробовать подготовить отчет напрямую в Microsoft Word, вставив окно карты в лист как OLE-объект. Но Word имеет очень неприятное ограничение на размер листа (не более 55,87 см по любому измерению), а карты, как назло, обычно приходится печатать на размеры вплоть до А0.

Поэтому рекомендую посмотреть в сторону Microsoft Office Publisher, также из состава Microsoft Office. Publisher – настольная издательская система от Microsoft. Это приложение начального уровня, отличающееся от Microsoft Word тем, что акцент в нём делается на проектирование разметки страницы, а не на оформление и проверку текста. Простой, интуитивно понятный и главное – знакомый по другим продуктам Microsoft интерфейс программы позволяет работать с ней без какого либо специального обучения.

Запустив Publisher, создаем новую публикацию (в терминологии программы) обычным «Файл» → «Создать». Из «Параметров страницы» настраиваем размер и ориентацию листа, создаем требуемое зарамочное оформление и – внедряем OLE-объект карты MapInfo (меню «Вставка» → «Объект» → «MapInfo Map»):

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

На странице публикации появится рамка с логотипом MapInfo, а в строке меню добавится 2 пункта: «Таблица» и «Карта». Из меню «Таблица» → «Открыть таблицу» открываем требуемый набор данных (только таблицы, рабочие наборы по понятным причинам, открыть нельзя) и настраиваем его отображение так же, как привыкли в MapInfo – через «Управление слоями» и прочие инструменты.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Таким же образом можно внедрить как таблицу Word или Excel, так и любой другой документ, поддерживающий OLE-объекты.

Метод, в принципе, не имеет недостатков и именно его я рекомендую для создания отчетов с большим объемом сопроводительной информации.

Почему не открывается растр в формате TIFF?

Вот выдержка из официального описания поддерживаемых форматов:

« (…) растровые форматы изображений, поддерживаемые MapInfo Professional:

Как видно, MapInfo не поддерживает изображения в формате TIFF с режимом больше чем 8 бит на канал. Правда, есть сведения, что еще поддерживается 16-битный режим формата Erdas Imagine IMG.

Кроме того, в MapInfo для формата TIFF поддерживается только сжатие LZW и Group 4, остальные же – увы. Да и с LZW вроде как есть проблемы, поэтому – надо относиться к алгоритмам сжатия с осторожностью и, очевидно, предпочтения отдавать изображениям без сжатия.

Как запустить MapInfo в «скрытом» режиме?

Иногда возникает необходимость запустить ту или иную утилиту MBX, не показывая при этом пользователю окно MapInfo. Добиться этого эффекта можно вызвав утилиту на выполнение строкой типа:

Как поставить одному объекту несколько геолинков?

Это вполне возможно сделать, но только начиная с версии MapInfo Professional 10.0. Разработчики в корне переработали диалог добавления геолинка и теперь он выглядит так:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

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

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Можно ли работать с MapInfo по сети?

Смотря что подразумевается под «работой по сети».

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

Получить одновременный доступ к файлам, находящимся в сетевой папке – тоже да. Но только на просмотр. А вот полноценно редактировать открытую таблицу не получится ни там, ни там.

Если же требуется осуществить одновременное редактирование данных несколькими пользователями, то здесь придется в корне изменить подход к хранению данных. Т.е. отказаться от использования файловых таблиц и хранить объекты в виде записей в удаленной базе данных. В MapInfo можно использовать для этого базы данных различных СУБД (Oracle, MS Access, SQL Server), вплоть до бесплатной PostGIS (реализовано в версии 10.0).

Однако следует помнить, что использование удаленных баз данных накладывает некоторые ограничения на тип географических объектов:

Почему неправильно печатается штриховка полигона?

Если речь идет о несовпадении частоты штриховки на экране и распечатке, то следует отключить опцию «Масштабировать штриховку» в диалоге «Настройки печати» (меню «Настройки» → «Режимы…» → «Параметры вывода…» → вкладка «Печать»):

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Почему, когда я копирую х, у из Excel, знаки после запятой не копируются?

Ответ очень прост. Разделителем целой и дробной части в MapInfo служит знак точки («.»), в то время как в Microsoft Excel разделитель совпадает с указанным в региональных настройках (меню «Пуск» – «Настройка» – «Панель управления» – «Язык и региональные стандарты» – кнопка «Настройка», вкладка «Числа»), т.е., скорее всего, запятая («,»).

При копировании координаты вида «72,1316» MapInfo воспринимает точку как нечисловой символ и отбрасывает весь остаток числа. Следует либо изменить региональные настройки, выставив разделителем целой и дробной части запятую. Но – этот способ может привести к ошибкам в работе других программ. Либо – предварительно конвертировать числовые значения к самом Excel, например, формулой типа: =ПОДСТАВИТЬ(#ССЫЛКА_НА_ЯЧЕЙКУ!;»,»;».»;1)

Как сделать, чтобы всегда отображалось «положение курсора»?

В левом нижнем углу окна программы есть поле, в котором, по умолчанию, отображается размер окна Карты. Щелкнув по нему, можно было выбрать из списка опцию «Положение курсора» и в поле выводилась информация о текущем положении курсора в окне активной Карты в заданных единицах. Можно настроить иначе: из меню «Карта» вызвать диалог «Режимы окна Карты» и отметить в секции «Показывать внизу» опцию «Положение курсора».

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

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

Set Map Display Position

Почему я не могу редактировать данные?

Как сделать всплывающую надпись?

Настройте подписи в диалоге свойств слоя, но показ этих подписей не включайте. Теперь, при наведении курсора на объект из этого слоя (и при условии, что слой будет верхним), под курсором появиться подсказка с содержимым подписи этого объекта. Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Пропало окно Информации. Что делать?

И тема, и ответ на вопрос честотянуты отсюда. Сам в свое время столкнулся с подобной проблемой, решил ее с довольно-таки значительными танцами. На форуме подсказали гораздо более красивый и, что важнее, абсолютно правильный вариант решения. Итак, если пропало окно Информации, надо выполнить команду MapBasic:

Set Window Info Position (0, 0)

Вводим указанную строку в окно MapBasic, «(…) Жмем Enter. О чудо – окно появилось…» (с)

Кстати, подобную конструкцию можно использовать не только для окна Информации. Например, такая вот строка:

Set Window 1002 Position (0,12) Width 15 Height 4 Hide ‘ set MapBasic position

помещенная в конец файла MAPINFOW.MNU лично у меня управляет дефолтным положением окна MapBasic. Здесь 1002 – это код окна MapBasic, Position (0,12) – положение левого верхнего угла окна, Width и Height – ширина и высота окна соответственно в принятых единицах измерения.

НазваниеАлиасКод
Окно программы MapInfoMapInfo1011
Окно MapBasicMapBasic1002
Окно СправкиHelp1001
Окно «Статистика»Statistics1010
Окно «Легенда»Legend1009
Окно «Информация»Info1008
Окно «Линейка»Ruler1007
Окно «Сообщение»Message1003

Как в MapInfo построить 3D модель местности?

Вообще-то, никак. MapInfo – работает только с 2D поверхностью. Поэтому, если планируется серьезная обработка трехмерных моделей, MapInfo – далеко не лучший выбор ПО.

Вместе с тем, если необходимо создать что-то подобное на 3D, для иллюстрации, к примеру, вполне можно использовать тематическую карту: меню «Карта» → «Создать тематическую карту…» → куст «Поверхность» → шаблон «Поверхность, стандартная».

Кроме того, в состав стандартной поставки MapInfo входит утилита «Построение регулярной поверхности» (GridTools.MBX), очень простая в использовании, с минимумом настроек, но дающая довольно неплохие результаты (если не предъявлять завышенные требования).

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Также существует сторонняя разработка Vertical Mapper – модуль трехмерного анализа для MapInfo. С помощью VM можно создавать трёхмерные модели по имеющимся координатам, проводить различные исследования по полученным моделям. Vertical Mapper обеспечивает механизм более сложного анализа данных из различных слоев карты.

Как добавить точки на пересечение объектов?

С помощью команды «Добавить узлы» из меню «Объекты». Порядок действий таков:

1. Делаем слой с изменяемыми объектами редактируемым.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

2. Выделяем объекты, в которые надо добавить узлы.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

3. Делаем эти объекты изменяемыми (меню «Объекты» → «Выбрать изменяемый объект»)

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

4. Выбираем объекты, по пересечению с которыми надо добавить узлы (в приведенном примере выборки совпадают, т.е. узлы добавятся на все объекты, попавшие в выборку).

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

5. Выполняем команду «Добавить узлы»

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Надо заметить, что изменяемые объекты и объекты, по которым проводятся изменения, необязательно должны находиться на одном слое.

Как восстановить информацию из удаленного файла?

Как известно, файловый набор данных MapInfo представляет группу файлов, числом от 2 до 5, связанных единым именем. Иногда случается так, что в результате неких манипуляций тот или иной файл из набора оказывается утрачен. Не будем рассматривать варианты восстановления файла средствами ОС из Корзины или при помощи специальных утилит восстановления. Допустим, что это невозможно и пойдем дальше.

Итак, если имеется таблица с растром вида, к примеру TAB/JPG, то:

Если имеется таблица с внешними списочными данными вида TAB/TXT или TAB/XLS, то:

Если имеется полный набор данных с графической и семантической составляющей, то:

Как измерить длину проводимой линии?

Насколько я понял, необходимо знать длину полилинии еще в процессе создания? Тогда включите инструмент «Линейка» на Панели Инструментов Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфои затем, не закрывая окно Линейки, создавайте полилинию (прямую, полигон). В окне Линейки будет отображаться как длина каждого отрезка (от последнего узла), так и суммарная длина (в случае с полигоном – периметр) всего объекта.

Как заполнить колонку данными из другой таблицы?

Для того, чтобы заполнить поля одной таблицы значениями из другой таблицы («Обновить колонку» – в терминологии MapInfo) необходимо:

Если с первыми двумя все более-менее понятно, то с третьим условием необходимо разобраться подробнее. Самый простой вариант условия – если в таблице A и в таблице B есть некое поле, заполненное одинаковыми значениями и надо перенести данные по строкам, где значения полей совпадают. К примеру:

Таблица A
Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Таблица B
Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

К примеру, надо перенести значения из колонки Doc_Num таблицы B в аналогичную колонку таблицы A для записей, где идентификатор ID совпадает для обеих таблиц. Для этого вызываем команду «Обновить колонку» из меню «Таблица». Появляется диалоговое окно, в котором последовательно указываем:

Теперь надо указать условия сопоставления разных наборов данных. Нажимаем на кнопку «Объединить» и в новом диалоговом окне указываем «Совместить по» колонкам ID из Таблицы A и Таблицы B.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

После выполнения команды из Таблица A заполнится указанными данными:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Кроме прямого сопоставления совпадающих значений полей, в MapInfo можно использовать операторы географического сравнения. Т.е. можно обновить только те объекты, центроиды которых попадают в контур объекта из другой таблицы, или только те, границы которых пересекаются. Подробнее об этих операторах и их использовании можно почитать в справке MapInfo (меню «Справка» → «Справочник MapInfo Professional», раздел справки «Работа с данными в MapInfo Professional» → «Выбор с помощью запросов в MapInfo Professional» → «Географическое объединение таблиц»). В нашем же случае – для использования этих операторов необходимо в окне «Объединение» указать не опцию «Совместить по», а «графический объект из таблицы Таблица A» и выбрать один из вариантов географического сравнения:

Как выбрать все объекты одного типа?

В принципе, я уже отвечал на такой вопрос в предыдущей части FAQ. Но у приведенного тогда способа есть небольшой недостаток – в таблице с большим количеством объектов запрос через строковую характеристику выполняется медленно и требует довольно много ресурсов. Если оптимизировать запрос, то можно его составить таким образом:

Select * from ИМЯ_ТАБЛИЦЫ Where Int(ObjectInfo(obj,1))=N

где ИМЯ_ТАБЛИЦЫ – имя вашей таблицы, как оно отображается в MapInfo, а N – число из списка ниже:

дуга1
эллипс2
линия3
полилиния4
точка5
рамка6
полигон7
прямоугольник8
скругленный прямоугольник9
текст10

Как добавить новую проекцию в MapInfo?

Описания проекций MapInfo находятся в корневом каталоге программы, в файле MAPINFOW.PRJ. Это обычный текстовый файл, его можно открыть, к примеру, блокнотом и внести необходимые исправления. Синтаксис описания проекций весьма подробно описан в Руководстве пользователя MapInfo (файл MapInfoProfessionalUserGuide.pdf из каталога Documentation), глава 13 «Работа с системами координат и проекциями». Там же описано как задать параметры проекций.

Если, по тем или иным причинам, Руководство Пользователя у вас отсутствует, его можно скачать с сайта официального дистрибьютора MapInfo, компании «ЭСТИ МАП» – http://esti-map.ru. Или, если желаете, прямая ссылка на UserGuide версии 10.0 – (10,4 Mb).

Почему при открытии рабочего набора «слетают» подписи?

Скорее всего, совпадение двух причин:

Дело в том, что в отличии от подписей, расставленных автоматически, местоположение редактированных подписей хранится в рабочем наборе в явном «заякоренном» виде. Каждой подписи соответствует строка типа:

Object 5 Line Arrow Anchor (4601.4,4395.4)

где 5 – это порядковый номер строки объекта, для которого создавалась подпись.

Очевидно, что если набор данных будет переупорядочен, 5 строке может соответствовать совсем иное значение. Что, несомненно, приведет к коллизии и искажению представления подписи.

Бороться с этим никак нельзя. Это естественное поведение MapInfo. Можно только лишь удалить все подписи из окна Карты и создать их заново (меню «Карта» → «Восстановить подписи…»)

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

К примеру, в таблице PLOT есть поле идентификаторов ID, заполненное уникальными значениями. Для объекта в строке 5 это значение равно, предположим, 1001. Тогда в тексте рабочего набора вышеприведенная строка может звучать так:

Find Using PLOT(ID) Find «1001» Object CommandInfo(4) Anchor (4601.4,4395.4)

Что здесь написано?

В первой строке мы указали в явном виде, где мы ищем. Во второй – что мы ищем. И лишь в третьей – дали команду привязать подпись найдено объекта к указанным координатам. Способ чрезвычайно громоздкий, однако позволяет решить проблему. Теперь, сколько бы мы не редактировали таблицу – пока не изменим значение ID для указанного объекта, подпись останется на месте.

Как изменить значения временной колонки?

В MapInfo нет временных колонок. В MapInfo есть вычисляемые колонки. А это, надо заметить, далеко не одно и то же.

Вычисляемая колонка является производной от уже существующих данных. Вручную изменить значение ее полей нельзя, можно только изменить условие, по которому она формируется:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Диалоговое окно редактирование вида Списка, включающее в себя настройки вычисляемых колонок, вызывается через команду меню «Список» → «Отобрать поля…». Окно Списка, естественно, должно быть активно. Как видно из скриншота, в примере есть 2 фактических поля и 1 вычисляемое – «Area», значения которого заполняются по формуле «CartesianArea», т.е. площадь объекта. Данная колонка видна только в окне Списка, и не видна ни в диалоге настроек подписи Карты, ни в диалоге составления запроса. В принципе, ее функция чисто справочно-оформительская, т.к. в окно Отчета она все-таки выводится.

Настройки отображения таблицы, в том числе и вид и содержание временных колонок, можно сохранить для последующего открытия. Эти данные хранятся в meta-разделе TAB. Убрать их можно либо удалив вручную раздел из файла, либо сбросив чек «Сохранить как стандартный вид Списка» в диалоге отбора полей.

Как сделать объект самым верхним на слое?

Никак. MapInfo – ГИС, а не графический редактор. С точки зрения топологии, перекрывающиеся объекты в одном слое – предельно некорректны. Порядок объектов в MapInfo задается порядком слоев и никак иначе.

Относительно же расхожего мнения, что достаточно просто вырезать объект и вставить обратно, чтобы он оказался последним в Списке и, соответственно, отображался первым. В Списке он, безусловно, будет последним. А вот на Карте – нет. Так что эта операция ни к чему не приведет.

Дело в том, что MapInfo не хранит объекты в памяти, а пересоздает их «на лету». Этим достигается завидное быстродействие программы, как ни парадоксально звучит, дешевле создавать объекты заново при каждом обновлении окна, чем хранить их в памяти. Но, как следствие, порядок создания объектов в текущем виде окна подчиняется несколько более сложным зависимостям, нежели простое положение объекта в списке.

Как перестроить индексы?

При попытке открытия таблицы MapInfo выдает такое предупреждение?

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Бороться с этим просто. Можно действительно перестроить таблицу (меню «Таблица» → «Изменить» → «Перестроить»), сняв все отметки с опции «Индекс».

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Можно просто удалить файл *.IND из набора файлов MapInfo. Но тогда при каждом открытии таблицы будет выдаваться предупреждение, что индекс недоступен. Чтобы этого не происходило, надо в тексте файла TAB удалить все фразы типа:

где N – порядковый_номер_индекса

Почему после вставки объекта экран «прыгает»?

Т.е после Copy-Paste окно Карты центрируется по центроиду вставленного объекта? Если да, то решение зависит от версии программы. В MapInfo 8.0 это было «багой», в версии 8.5 баг поправили, а в MapInfo Professional 10.0 это уже «фича» 🙂

«Настройки» → «Режимы» → «Окно Карты» → «Редактирование» → «Масштабировать после вставки объекта»

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как отключить автоматическую перерисовку окна?

Даже для такой быстрой программы, прорисовка окна – ресурсоемкое мероприятие. Особенно, если его загрузить сотней-другой растров (хотя может хватить и одного, но большого). Избежать подобных проблем можно, отключив автоматический рендеринг Карты. Понятное дело, что никаких специальных опций настройки для этого нет, но есть окно MapBasic, в которое вводим:

Set Event Processing Off

если надо отключить прорисовку во все окнах Карты, или:

Set Map Redraw Off

если надо отключить прорисовку в активном окне Карты.

Теперь действия, вызывающие изменения Карты, такие как добавление/удаление слоя, изменение порядка слоев и некоторые другие, будут происходить без перерисовки окна. Для включения автоматической перерисовки пишем в окно MapBasic соответственно:

Set Event Processing On

Хотя, должен заметить, мне лично подобные манипуляции приносили только путаницу и неразбериху, без какой-либо видимой пользы.

Как избавиться от масштабного коэффициента для вновь открываемых растров?

Снять чек с опции «Автомасштаб по растровому слою» в окне настроек Карты (меню «Настройки» → «Режимы» → «Окно Карты…» → вкладка «Оформление»):

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Как разместить текст по кривой?

Как разместить именно текст, т.е. текстовый объект, я не знаю. А вот подписи разместить вдоль ломаной линии, повторяя ее изгибы, вполне можно. Достаточно выставить опцию «По кривой» в секции «Положение» диалога настроек подписей слоя:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Результат будет, к примеру таким:

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Не-линейные объекты (точки, полигоны) при выборе указанной опции будут подписаны так, как будто выбрана опция «По горизонтали».

Как можно обрезать/сшить растр?

Вообще-то – никак. MapInfo не содержит инструментов для редактирования изображений. Подразумевается, что, прежде чем быть использованными в качестве растровой подложки, изображения должны быть подготовлены в ПО, отличном от MapInfo.

Вместе с тем, MapInfo обладает неким функциональным паллиативом, позволяющим, в ряде случаем, решить поставленную задачу.

«Сшитый» растр в MapInfo образуется «мозаикой» из отдельно зарегистрированных с минимальной погрешностью фрагментов. Для облегчения регистрации подобных фрагментов существует утилита Mozaic от компании «ЭСТИ МАП».

Обрезать же растр можно, так же, как и векторный слой, при помощи врезки. В окне Карты выбираем некий объект, по контуру которого необходимо скрыть изображение, и вызываем команду «Выбрать область врезки» из меню «Карта».

При импорте DXF вместо текста кракозябры. Как исправить?

Совет первый и универсальный – воспользуйтесь Универсальным Транслятором (утилитой из стандартной поставки MapInfo). Если же необходимо использовать именно встроенный механизм импорта, то придется чуть-чуть потрудиться.

Дело в том, что AutoCad и прочие подобные ему программы сохраняют файл DXF в кодировке Windows, в нашем случае – Windows-1251, она же Microsoft code page 1251 (CP1251), а вот MapInfo использует кодовую страницу DOS, т.е. OEM 866. Из-за того, что в разных кодировках каждому байту соответствуют различные символы, возникает путаница. Исправить это можно при помощи любого текстового редактора, который умеет перекодировать текст «на лету», например Bred или AkelPad.

На примере AkelPad’а:

Кстати, подобным образом можно бороться и кракозябрами в AutoCad после экспорта из MapInfo, только сохранять DXF уже надо в кодировке Win-1251.

Как узнать площадь в процессе изменения полигона?

Задайте в настройках подписей слоя показывать подписи из выражения: Area(obj, «sq m»)

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Теперь, при изменении формы площадного объекта (местоположение узлов) в подписи будет динамически отображаться его площадь. В случае если измерения ведутся не в плоской системе координат, лучше использовать для вычисления площади не Area, а функцию CartesianArea(obj, «sq m»).

Для линейных объектов, для отображения их текущей длины, следует использовать функцию ObjectLen(obj, «m») с аналогичным результатом.

Как в MapInfo выполнить скрипт?

Помимо очевидного способа – открыть окно MapBasic (кнопка «Показать/скрыть окно MapBasic» Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфона Панели Инструментов) и ввести код скрипта, можно использовать тот факт, что Рабочий Набор, по сути, является скриптом MapBasic. А значит, можно использовать файлы с расширением WOR для хранения и запуска на выполнение собственных наборов команд.

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

и сохранить файл с расширением WOR.

После заголовка можно писать свои наборы команд, используя те же правила, что и при вводе их в окно MapBasic: запрет на использование циклов, объявлений и т.д. Достаточно вызвать созданный Рабочий Набор из MapInfo или, при правильно настроенной ассоциации файлов – напрямую из ОС, и скрипт будет выполнен.

Чем можно посмотреть файлы MapInfo?

Привести конкретный перечень программ, умеющих читать формат файлов MapInfo, довольно тяжело, так как их весьма много. А уж умеющих работать с обменным форматом MID/MIF – так и вовсе несть числа. Некоторые умеют это делать чуть лучше, некоторые – чуть хуже, но у всех есть один небольшой недостаток – они не умеют работать с рабочими наборами MapInfo (файлы *.WOR). Дело в том, что рабочие наборы – это попросту набор команд на внутреннем языке MapInfo – MapBasic, или, если угодно, макросы, в которые записаны действия пользователя. Естественно, что никто, никакое стороннее ПО, кроме самой MapInfo, не умеет интерпретировать этот язык и, соответственно, открывать готовые рабочие наборы.

Поэтому, если нужно именно просмотреть данные, подготовленные в формате MapInfo, лучше, на мой взгляд, воспользоваться «родным» вьювером – программой MapInfo ProViewer. MI ProViewer является полным аналогом MapInfo Professional, и в интерфейсе и в списке поддерживаемых форматов, за исключением того, что не позволяет редактировать данные.

Как посчитать площадь в мапинфо. Смотреть фото Как посчитать площадь в мапинфо. Смотреть картинку Как посчитать площадь в мапинфо. Картинка про Как посчитать площадь в мапинфо. Фото Как посчитать площадь в мапинфо

Скачать последнюю версию MI ProViewer можно либо с сайта производителя, компании «Pitney Bowes Software Inc.»:
английская версия MI ProViewer (потребуется регистрация)
либо с сайта официального дистрибьютора продукции Pitney Bowes в странах СНГ, компании «ЭСТИ МАП»:
русифицированная версия MI ProViewer.

Где можно почитать о MapInfo?

По традиции, last but not least, несколько ссылок на сайты с материалами по MapInfo:

Также можно поискать ответ на свой вопрос по форумам:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *