Добрый день!
Уже несколько недель борюсь с Surfer, отличная программа, но в плане координат мы друг друга не понимаем совершенно, решил обратиться на форум за поддержкой разбирающихся.
Ситуация:
В SasPlanet наносим точки, после чего вытаскиваем их через KML или GPX с последующим преобразованием в CSV-файл, который понимает Surfer. В CSV координаты в формате XX.XXXXXX YY.YYYYYY и не отходя от кассы, добавляем новый столбец со значениями высоты. Загружаем всё это дело через Grid Data в Surfer. Выставляем XYZ — он всё понимает и принимает. Строится карта.
Проблема:
Результат получается сжатым по вертикали (может растянут по горизонтали)! Суть в том, что это не то же самое, что выгружалось с SasPlanet (скрины прикладываю (в наложении совмещал по «скв 15»)), а надо чтобы прям наложение было идеальное.
Казалось бы, в таком случае надо менять систему координат. И вот тут и появляется загвоздка — систем координат полно и я чего-то не понимаю. Начитался в интернетах, что SAS имеет систему координат — Popular Visualisation CRS / Mercator (EPSG 3785). Ставил — ничего не поменялось. В ArcMAP была подобная ситуация, но там всё решалось выставлением системы координат СК-42 c указанием зоны. Тогда расстояния между точками совпадало с SAS и никакого искажения не было, можно было выгружать и накладывать — всё совпадало абсолютно до мм.
Обратил внимание на то, что в Surfer систему координат можно применить как к группе «Map», так и для слоя группы с точками, причем разную систему можно поставить — скорее всего я здесь что-то не понимаю и здесь кроется ошибка. Я перепробовал много систем координат WGS 84, СК-42, разные EPSG и много комбинаций «система координат MAP — система координат слой».
На форумы редко хожу, обычно методом «тыка» решение появляется, но тут прям плакать хочется.
Заранее отвечу на некоторые вопросы:
1. «Ошибка в импорте KML и преобразовании в CSV» — я проверял, он импортирует правильные координаты.
2. «Не подбивал масштаб при наложении» — подбивал.
I’ve caught a problem I can’t explain using pygresql for python. This is a simple SELECT query and as far as I can tell the only query that has the problem in the whole script.
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "run_daily_script.py", line 122, in DelegateAPINodes
vm_api_group = Execute(db_conn, fetch_api_group, (cust_id, nodes["node_id"]))
File ".../PreparedQueries.py", line 14, in Execute
result = db.execute(command)
File "/usr/local/lib/python2.7/site-packages/pgdb.py", line 1030, in execute
return self.executemany(operation, [parameters])
File "/usr/local/lib/python2.7/site-packages/pgdb.py", line 1065, in executemany
raise _op_error("Internal error in '%s': %s" % (sql, err))
OperationalError: Internal error in 'SELECT * FROM vm_api_group WHERE cust_id=3 AND node_id=18': insufficient data in "T" message
I ran the query via the console and it works just fine. I monitored psql logs and there were no errors from the database. It seems to be an internal operation with pygresql.
What does «T» mean and how do I fix this?
(Недопустимое выражение…)
Выражение в правой части уравнения
записано неверно. Вероятнее всего,
ошибка находится где-то возле текущей
позиции. Проверьте, правильно ли записаны
имена функций (function names) и имена
переменных (т.е. одна или две буквы меток
столбцов).
Incompartible clipboard !
(Недопустимый формат буфера обмена
!)
Содержимое буфера обмена имеет формат,
несовместимый с данными Рабочего листа.
Рабочий лист принимает данные из буфера
обмена в форматах SYLKилиTEXT.
Incorrect variable interval…
(Неверный интервал переменных…)
Некоторые функции принимают в качестве
аргумента так называемый ‘’интервал
переменных’‘. Например, SUM(B..AC).
ФункцияSUMбудет вычислять для каждой
строки сумму данных их столбцов отBдоAC, т.е. столбцовB, C, D,…, Z, AA, ABиAC.
Две переменные (т.е. метки столбцов)
должны быть последовательными и должны
разделяться в точности двумя точками.
Значения переменных не должны превосходить
значения максимального столбца Рабочего
листа.
Insufficient memory…
(Недостаточно памяти…)
Не хватает памяти для выполнения
операции. В некоторых случаях операция
может быть выполнена частично. Например,
при чтении файла часть файла может быть
записана в Рабочий лист. Проверьте,
выполнена ли операция частично, и
повторите операцию.
Закройте все неиспользуемые в настоящий
момент документы и приложения (например,
Help) и попытайтесь выполнить операцию
над остальными строками.
Insufficient memory: Undo disable ! Continue with operation ?
(Недостаточно памяти: невозможно
сохранить текущее состояние ! Продолжить
операцию ?)
Недостаточно памяти для сохранения
текущего состояния Рабочего листа. Если
операция будет продолжена, то невозможно
будет выполнить операцию обращения (с
помощью Edit Undo). Если Вы отмените
операцию, то будет восстановлено
предыдущее состояние Рабочего листа.
Чаще всего операции слишком велики для
обращения (Undone). Однако, в некоторых
случаях можно попытаться закрыть все
неиспользуемые в настоящий момент
документы и приложения (например,Help)
и выполнить операцию снова.
Можно также попробовать выполнить
операцию над частью Рабочего листа.
Например, преобразование над 10000 строк
можно разбить на два преобразования:
одно над стрками с 1 до 5000, другое над
строками с 5001 до 10000.
Internal error ! File… Line…
(Внутренняя ошибка ! Файл… Строка…)
Обнаружена серьезная ошибка. Такие
ошибки свидетельствуют об ошибках в
программном обеспечении, и о них следует
сообщать в Technical Support. Пожалуйста, когда
будете сообщать об этой ошибке, не
забудьте дать информацию о FileиLine.
Internal error ! …
(Внутренняя ошибка ! …)
Обнаружена серьезная ошибка. Такие
ошибки свидетельствуют об ошибках в
программном обеспечении, и о них следует
сообщать в Technical Support. Пожалуйста, когда
будете сообщать об этой ошибке, не
забудьте дать информацию о тексте
сообщения.
Invalid column variable !
(Неверная переменная !)
Ожидалась переменная-столбец, но
выражение справа от текущей позиции
записано неверно. Переменная — это одна
или две буквы метки столбца. Возможно
значение переменной слишком велико для
Рабочего листа, а может быть имя функции
записано с ошибкой. (См. function names.)
Invalid column variable or function name !
(Неверная переменная или имя функции
!)
Ожидалась имя переменной или имя функции.
Проверьте, правильно ли записано имя
переменной или имя функции.
Invalid destination !
(Неверное имя столбца результатов
!)
Левая часть уравнения преобразования
записана неверно. В левой части уравнения
должна стоять метка столбца результатов.
Например, результаты вычисления C = A
+ BиAC = SUM(A..AB)будут помещены в
столбцыCиAC, соответственно.
Invalid number…
(Неверное число…)
Проверьте, правильно ли записано число.
Числа можно записывать либо в фиксированном,
либо в экспоненциальном формате.
Вот несколько примеров:
2567
25.67
.002567
25.67E12
25.67E-12
Не разрешается включать в запись числа
какие-то форматирующие символы, такие
как знак доллара «$», знак процента
или запятые (для отделения тысяч). Вот
примеры неправильной записи чисел:
$25,375.5
27.5%
Invalid SYLK format…
(Неверный формат SYLK…)
Указанный файл не содержит правильного
SYLKзаголовка. Данный файл либо
испорчен, либо не является файломSYLK[.SLK].
См. также
SYLK File Format
Invalid WK1 file…
(Неверный файл WK1…)
Указанный файл не содержит правильного
WK1илиWKSзаголовка. Данный файл
либо испорчен, либо не является файлом.WK1или .WKS.
См. также
Lotus WK1 or WKS File Format
Invalid XLS file…
(Неверный файл XLS…)
Указанный файл не содержит правильного
XLSзаголовка. Данный файл либо
испорчен, либо не является файлом .XLS.
См. также
Excel XLS File Format
Mark only one block !
(Выделяйте только один блок !)
В панели диалога преобразования можно
задать диапазон строк только для одного
блока. Операция преобразования может
выполняться только над одним выделенным
блоком.
Заметим, что операцию преобразования
можно выполнять и тогда, когда нет
выделенных блоков, но в этом случае Вы
должны ввести в панели диалога
преобразования значения начальной и
конечной строк диапазона.
MATH ERROR: function(argument) error-type !
MATH ERROR: function(arg1,arg2) error-type !
(Ошибка при вычислении функции !)
Ошибка произошла при вычислении функции.
Аргумент не принадлежит области
определени функции:
|
Если аргумент |
|||
Аргумент принимает недопустимое
значение:
|
Если аргумент |
|||
Потеря значимости:
|
Произошла частичная |
|||
Ошибки ‘UNDERFLOW’ и ‘OVERFLOW’:
|
Результат |
|||
См. также
Mathematical Functions
Missing equation !
(Отсутствует уравнение !)
Отсутствует правая часть уравнения
преобразования.
См. также
Equations
Missing function argument…
(Пропущен аргумент функции…)
У заданной функции отсутствует аргумент.
См. также
Mathematical Functions
No worksheet data in WK1 file…
(Файл WK1 не содержит данных Рабочего
листа…)
Запись DIMENSIONS файла WK1 или WKS указывает,
что данный файл не содержит данных
Рабочего листа.
Nothing to do !
(Невозможно выполнить операцию !)
Заданная операция должна выполняться
за пределами текущего Рабочего листа.
Nothing to sort !
(Невозможно выполнить сортировку
!)
Рабочий лист либо пуст, либо содержит
только одну строку.
Nothing to Undo !
(Невозможно выполний обращение
операции !)
Предыдущая операция необратима или
недостаточно памяти для выполнения
операции обращения.
Number is too large !
(Слишком большое число !)
Введенное число слишком велико для
Рабочего листа. В ячейки Рабочего листа
можно записывать только числа одинарной
точности (32 bit IEEE floating point). Наибольшее
допустимое число приблизительно равно
3.4E+38.
Если Ваши числа превосходят это значение,
попробуйте промасштабировать их, прежде
чем вводить в Рабочий лист.
Number of digits must be from 0 to 9 !
(Число цифр должно быть от 0 до 9 !
Number of digits must be from 1 to 9 !
Число цифр должно быть от 1 до 9 !)
Для фиксированного и экспоненциального
форматов (а также для формата Currency)
количество цифр в числе справа от
десятичной точки должно быть от 0 до 9.
Для чисел, представленных в формате
General (Общий), общее количество цифр
должно быть от 1 до 9.
Заметим, что в числах одинарной точности
(32 bit IEEE floating point), используемых в Рабочем
листе, содержится примерно 6-7 значащих
цифр. Отображение дополнительных цифр
(свыше семи) либо до, либо после десятичной
точки, не увеличивает точность
представления числа. Например, если Вы
введете число 123456789.123456, то восемь
последних цифр этого числа не имеютсмысла.
В этом случае число цифр после десятичной
точки (при использовании фиксированного
формата) лучше положить равным нулю.
Original file was from another application.
Соседние файлы в папке Surfer
- #
- #
- #
- #
- #
ERROR: insufficient data left in message Where: COPY registrations, line 1, column user_id
Копирую из разных баз/серверов.
COPY t FROM ‘/tmp/t.bin’ WITH (FORMAT BINARY );
COPY t TO ‘/tmp/t.csv’ CSV BINARY;
Подоздреваю, что проблема со столбцом, у которого тип timestmap… Возможно
Подскажите, как можно решить вопрос?
russian
programming
pgsql
5
ответов
Форматы таблиц небост разные?
Ilya Anfimov
Форматы таблиц небост разные?
Таблицы разные.
Но типы данных столбцов одинаковы.
int и timestamp
Ilya Anfimov
Форматы таблиц небост разные?
Еще тупой вопрос.
Я пробовал не в бинарном формате, а в csv.
Но столкнулся с тем, что в некоторых редких случаях timestamp в файле имел вид 2021-01-01 10:11:12.
Т.е. там не было цифр в конце, после точки. И из-за этого тоже импорт приостанавливаля.
Можно ли как-то заставить postgres при создании csv доставлять 000000 после точки в timestmap?
whois
Еще тупой вопрос.
Я пробовал не в бинарном формате…
Вообще-то не должэн импорт останавливаться. Ищите причину в другом.
whois
Еще тупой вопрос.
Я пробовал не в бинарном формате…
Ну, то есть 2021-01-01 10:11:12 — это вполне нормальный timestamp, ничего такого чтобы его не загрузить.
Последнее сообщение
![]()
2
13
Янв 10
Есть некоторый грид, есть таблица с координатами скважин. Нужно получить значения из грида в точках скважин, причем скважины могут не лежать в узлах грида. Серфер такое может? Если нет, то посоветуйте, пожалуйста, как и с помощью чего это можно осуществить.
Опубликовано
20 Янв 2010
Активность
4
ответа
13133
просмотра
4
участника
0
Рейтинг
144
15
Янв 10
#1
не мучайся скачай изолайн, там это просто, а в серфере насколько помню он может только показать значение на середину ячейки (но это неточно, давно в нем не работал не помню)
174
14
Янв 10
#2
фыва пишет:
Есть некоторый грид, есть таблица с координатами скважин. Нужно получить значения из грида в точках скважин, причем скважины могут не лежать в узлах грида. Серфер такое может? Если нет, то посоветуйте, пожалуйста, как и с помощью чего это можно осуществить.
В таблицу с координатами скважин нужно добавить колонку и заполнить её нулями.
В Surfer’е выполнить: Grid -> Residuals, выбрать грид, затем выбрать файл с координатами скважин и в появившемся окошке выбрать X и Y скважин, а в качестве Z выбрать колонку, заполненную нулями. Также можно выбрать колонку, куда будет сохранён результат (По умолчанию первая пустая). После нажатия ОК откроется таблица Worksheet. Результат будет со знаком, обратным значениям грида. Нужно выделить колонку с результатом и выполнить Data -> Transform, в окошке Transform equation набить: буква_колонки=буква_колонки*-1 (Например: D=D*-1).
2
13
Янв 10
#3
300
15
Янв 10
#4
еще можно через Grid->Slice. Только файл координат скв нужно немного тоже подделать под формат .bln — в первой строке первая колонка — число скважин — во второй колонке певая строка например «1», все, в соответсвующем файле .bln на выходе в третьей колонке будут значения грида в точках скважин