Автоматизация простых операций с помощью Mapbasic

Не знаете, где задать вопрос? Задавайте здесь.
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Автоматизация простых операций с помощью Mapbasic

Сообщение Boris » 10 ноя 2013, 23:26

kuziavlad85 писал(а): 1) если можете,подскажите,как вырезать полигон Вороного таким образом, чтобы еще и учитывалось границы регионов?
Выложите пример на два смежных субъекта РФ, желательно с внешней морской границей, и теми границами регионов, которые вы используете для обрезки.
Во первых обрезка на границе субъектов не может использоваться. Вот мой пример:
ex1.png
ex1.png (6.04 КБ) 4326 просмотров
4 полигона, 4 точки в них (центроид) 4 полигона Воронова. Обрезка полигонов воронова границей приведет к тому, что часть данных от этого полигона пропадет. Нужно не обрезать, а разрезать и потом переносить обрезки в тот регион куда они попадают. Это раз.
Два, что предполагается за пределами РФ - значения 0 или как там в вашей отрасли обозначается "все хорошо"? Это совершенно не верное предположение, за исключением Ледовитого океана.
Три, IMHO, задача вообще решена не верным способом. Для моделирования полей (на сколько я помню, распределение показателя - это поле), использована линейно-кусочная функция. Но поля не остаются статичными между точками разного значения. Они или должны убывать квадратично от точки "выброса", или изменяться некоторой функцией, возможно, что и линейной, между точками измерений. Но правило непрерывности должно сохранятся. Не может справа от границы быть 10, а слева 2. Тут очевидная задача пространственного анализа, решаемая с помощью построения грид-моделей, которые должны учитывать непрерывность изменения показателя.
PS
Еще раз, ссылаться на данные, которые никто не может увидеть - это очень плохой способ получить совет.

kuziavlad85
Участник
Сообщения: 59
Зарегистрирован: 12 авг 2012, 19:59
Репутация: 0

Re: Автоматизация простых операций с помощью Mapbasic

Сообщение kuziavlad85 » 10 ноя 2013, 23:51

1)Борис, насчет кусочно-непрерывной функции-я согласен с Вами, что решается задача несколько некооректно. Однако строить карты, где бы у нас были непрерывные значения мы также не можем и вот по какой причине: у нас всего 500-600 метеостанций на территории РФ, которые занимаются загрязнением снежного покрова. И на основании этих данных мы и должны строить карты. Т.е. когда расстояния между станциями 100-300 км!Разумеется, это полный бред, когда мы выдаем значения ввиде полигонов ВОРоного, но еще хуже, когда мы будем использовать сложные зависимости, которые математически мы не сможем доказать!

2)Скажем так, то,что предполагается за пределами РФ мы не знаем, у нас просто нет информации. НО искренне надеюсь, что она будет. Поэтому мы ограничиваемся пределами РФ.Пока надеюсь
3)не совсем понял просьбу. Мне выложить excel файл с геоданными? Не вопрос, могу скинуть! ТОлько значения pH там будут не теми,которые у нас есть-я не могу без ведома начальства делиться этими данными=))) Или какую то карту в формате jpg? те,что мы успели построить?

kuziavlad85
Участник
Сообщения: 59
Зарегистрирован: 12 авг 2012, 19:59
Репутация: 0

Re: Автоматизация простых операций с помощью Mapbasic

Сообщение kuziavlad85 » 10 ноя 2013, 23:58

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

juffin_h
Завсегдатай
Сообщения: 265
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 49
Откуда: Нижний Новгород

Re: Автоматизация простых операций с помощью Mapbasic

Сообщение juffin_h » 11 ноя 2013, 18:05

To kuziavlad85. Я извиняюсь, абсолютно нет времени на разъяснения. На работе завал. Выложите (можно в личку) таблицу с Ph (с произвольными значениями) и границы регионов, которые Вы используете. Если будет минутка, что нибудь набросаю.

Почему Вы используете Count(column)? Вам же надо не количество, а сумму - Sum( column )?
В MapInfo есть натуральный логарифм: Log().
Для вычисления логарифма по основанию 10 из N можно сделать так: Log(N)/Log(10).

kuziavlad85
Участник
Сообщения: 59
Зарегистрирован: 12 авг 2012, 19:59
Репутация: 0

Re: Автоматизация простых операций с помощью Mapbasic

Сообщение kuziavlad85 » 13 ноя 2013, 10:18

Спасибо Вам огромное, я уже понял, как можно вывести 2 колонки с суммами в sql-запросе! Правда, есть одно НО: я пока не смог поделить одно на другое и взять логарифм, приходится для этого в excel переводить.
Спасибо Вам огромное!

Sibit
Активный участник
Сообщения: 216
Зарегистрирован: 21 окт 2009, 13:29
Репутация: 28
Откуда: Новосибирск

Re: Автоматизация простых операций с помощью Mapbasic

Сообщение Sibit » 15 ноя 2013, 06:22

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

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

Select COL1,COL2, Log(COL1/COL2)/Log(10) from Query1 into Selection

Ответить

Вернуться в «Я новичок!»

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

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