Отображение и привязка полей данных из excel

MapInfo, MapBasic
Ответить
Тимиргалин Салават
Новоприбывший
Сообщения: 6
Зарегистрирован: 21 дек 2016, 16:14
Репутация: 0

Отображение и привязка полей данных из excel

Сообщение Тимиргалин Салават » 21 дек 2016, 16:42

В excel был выполнен расчет напряженности электромагнитного поля вблизи антенны, результат расчета представляет из себя эксель таблицу 100x100 ячеек со значениями параметра, шаг между ячейками - 1 метр, сама антенна расположена посередине - в ячейке 50,50.
Подскажите, пожалуйста,как лучше подготовить эти данные и какими инструментами проще всего привязать их к карте.

Skywalker
Участник
Сообщения: 79
Зарегистрирован: 01 май 2013, 22:38
Репутация: 30
Откуда: Сыктывкар

Re: Отображение и привязка полей данных из excel

Сообщение Skywalker » 21 дек 2016, 18:43

Проще всего будет ваши данные представить в виде таблицы X,Y,P. Где X,Y – прямоугольные координаты точек вашей системы координат, P – значение параметра. После этого пересчитать координаты в систему координат проекции, и добавить в ГИС стандартным инструментом.

thegeo
Активный участник
Сообщения: 160
Зарегистрирован: 17 янв 2012, 18:51
Репутация: 74

Re: Отображение и привязка полей данных из excel

Сообщение thegeo » 21 дек 2016, 20:23

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

Код: Выделить всё

Option Base 1
Sub CreateGrid()
Dim tbGridValue As Variant
Dim tbGrid(15000, 4) As Variant 'id,x,y,value
Dim n, m As Integer 'строк, столбцов
Dim i, j, k As Integer
Dim x, y, dx, dy As Double
tbGridValue = Sheets(1).Range("A1").CurrentRegion 'исходные данные
n = UBound(tbGridValue, 1)
m = UBound(tbGridValue, 2)
k = 0
dx = 1
dy = 1
For i = 1 To n
    y = y + dy
    For j = 1 To m
        k = k + 1
        x = x + dx
        tbGrid(k, 1) = k
        tbGrid(k, 2) = x
        tbGrid(k, 3) = y
        tbGrid(k, 4) = tbGridValue(i, j)
    Next
    x = 0
Next
Sheets.Add
Sheets(1).Name = "grid"
Sheets(1).Range("A1:D15000") = tbGrid 'результат для загрузки в MI
End Sub
Далее в обычном порядке загружаем этот лист в MapInfo, выполняем Таблица/Создать точечные объекты (проекция План-Схема). Ну а далее по интересам, например Карта/Создать тематическую карту.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Отображение и привязка полей данных из excel

Сообщение gamm » 21 дек 2016, 20:33

Тимиргалин Салават писал(а):Подскажите, пожалуйста,как лучше подготовить эти данные и какими инструментами проще всего привязать их к карте.
я бы посоветовал сделать наоборот: создать сетку на нужную территорию (вокруг антенны), в нужной системе координат. Мапинфо для этого не годится, а вот QGIS волне. Сохранить (или вообще создать руками) в текстовом формате (ASCII Grid, SURFER), конвертировать в X,Y,Z, и посчитать ваши величины в этих точках (пересчитав расстояние до центра по теореме Пифагора). А потом вставить эти значения обратно в сетку. При наличии минимальных навыков программирования на это уйдет немного времени, и получите готовый продукт.

thegeo
Активный участник
Сообщения: 160
Зарегистрирован: 17 янв 2012, 18:51
Репутация: 74

Re: Отображение и привязка полей данных из excel

Сообщение thegeo » 21 дек 2016, 22:00

Мапинфо для этого не годится, а вот QGIS волне.
Смешно.

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

Re: Отображение и привязка полей данных из excel

Сообщение Boris » 22 дек 2016, 02:52

Сколько всяких и разных идей. А зачем столько вариантов того как чистить зубы гаечным ключом?
Автор не указал, что собственно он знает о том как его сетка 100на100 переносится в систему координат, которая ему нужна. К чему остальные советы? Я знаю бездну вариантов того, что происходит потом.
Вот самые разумные два:
1. автор знает как каждая точка попадает в точку на местности. Далее есть варианты, но самый простой, если он знает как присвоить каждой точке координаты уже в Excel и умеет превратить 100х100 в столбик 10000. Столбик: X,Y,Z, но в векторе. Надо их загрузить в Mapinfo, а в MapInfo есть простейший построитель GRID-ов, но тут вроде супер сложный и не нужен, а может вообще не нужен. И всё - поле вы уже имеете.
2. Автор не знает как 100на100 отображается на местность, но может это хоть как то моделировать. Потому, как если он вообще ничего не знает, то тут ему никто и не поможет. 100на100 - это опять же X,Y,Z только уже в системе координат грида(растра). Да, 100на100 будут считаться от 0, а не от -50. Я уверен, что это не критично. Формат ASCII-grid Mapinfo умеет открывать, а любой открытый растр/грид позволяет привязать в специальном окне по 3-м точкам. Визуализация грида, так же заложена в базовые функции Mapinfo.
А что там собственно надо было сделать? Я задачи то и не увидел, так отдельные шаги к достижению ХЗ чего.
PS
И если я еще помню математику, то точка (50,50) не является центром сетки 100 на 100. 101 на 101 - возможно.

Тимиргалин Салават
Новоприбывший
Сообщения: 6
Зарегистрирован: 21 дек 2016, 16:14
Репутация: 0

Re: Отображение и привязка полей данных из excel

Сообщение Тимиргалин Салават » 22 дек 2016, 03:28

Всем большое спасибо за советы. Буду пробовать.

Тимиргалин Салават
Новоприбывший
Сообщения: 6
Зарегистрирован: 21 дек 2016, 16:14
Репутация: 0

Re: Отображение и привязка полей данных из excel

Сообщение Тимиргалин Салават » 23 дек 2016, 02:18

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

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

Re: Отображение и привязка полей данных из excel

Сообщение Boris » 27 дек 2016, 23:31

1. одна тема - один вопрос.
2. если уже есть результат и его необходимо улучшить - прикладывайте архив в составе рабочий набор+файл+таблица привязки.
3. описывайте все же задачу, а не ее части - телепатия не самая сильная сторона авторов на ГИС-лабе.

Ответить

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

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

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