Как обрабатываются GPS-координаты в Surfer
Общая схема

Ниже — подробно, что происходит на каждом этапе.
1. Какие данные получает Surfer от GPS
Почему широта и долгота неудобны для некоторых вычислений
Обычный GPS/GNSS-приёмник выдаёт положение точки как:
- широта (Latitude) — положение север–юг;
- долгота (Longitude) — положение запад–восток;
- иногда высота;
- дополнительно могут быть время, номер точки, точность измерения и т. д.
Для Surfer данные изначально организуют как XYZ:
X | Y | Z |
Longitude | Latitude | измеряемая величина |
44.81263 | 41.70251 | 128.4 |
44.81317 | 41.70294 | 130.1 |
44.81402 | 41.70340 | 133.6 |
То есть X = долгота, Y = широта. Именно так построен и официальный пример Surfer с GPS-подобными данными: Longitude назначается X, Latitude — Y. Z при этом совсем не обязан быть высотой — это может быть концентрация вещества, температура, уровень грунтовых вод, магнитное поле, сопротивление и т. д.
Это важный момент: GPS определяет, где проводилось измерение, а Z определяет, что в этой точке измерили.
- Surfer приводит широту и долготу к числовому виду
Хотя современные GNSS-приёмники обычно сразу выгружают данные в десятичных градусах, формат градусов, минут и секунд (DMS) часто встречается при ручном вводе из старых отчетов или оцифровке карт. В таком случае в таблице (Worksheet) Surfer есть специальная команда:
Data → Coordinate System → DMS to DD
Она переводит DMS или Degrees+Minutes в Decimal Degrees. Для западной долготы и южной широты используются отрицательные значения.
Например:
3.70° W → -3.70
33.92° S → -33.92
- Затем Surfer должен понять, что означают эти числа
Допустим, в таблице записано:
44.812637
41.702514
Сами по себе это просто два числа. Surfer ещё необходимо сообщить:
«Это не условные X=44 и Y=41. Это долгота и широта Земли в определённой географической системе координат».
Для этого используется:
Data → Coordinate System → Assign Coordinate System
Например, для обычных GPS-данных это часто будет World Geodetic System 1984 — WGS 84.
И здесь есть очень важная тонкость. Assign Coordinate System НЕ пересчитывает значения координат.
Surfer просто записывает метаданные: эти числа являются Longitude/Latitude в WGS84. Для файла создаётся связанный файл геопривязки .GSR2.
Иными словами: Assign Coordinate System = объяснить Surfer смысл координат. Это ещё не проецирование.
- Почему широта и долгота неудобны для некоторых вычислений
GPS-координаты относятся к поверхности Земли. Их единица измерения — градус, а не метр. Но градус широты и градус долготы физически не равны друг другу.
Приблизительно:
- 1° latitude ≈ 111 км
- длина градуса долготы зависит от широты: 1° longitude ≈ 111 км × cos(latitude)Поэтому на широте 42° один градус долготы составляет лишь примерно 83 км.
Поэтому на широте 42° один градус долготы составляет лишь примерно 83 км.
Surfer умеет отображать непосредственно карты Lat/Long, однако по умолчанию может отрисовать шаги по X и Y как 1:1, что приведет к визуальному растяжению карты по горизонтали (эквидистантная цилиндрическая проекция).
Чтобы программа скорректировала масштаб пропорционально реальным расстояниям (используя центральную широту), нужно в настройках карты вручную включить опцию Map -> Scale -> Proportional XY. Но визуальное масштабирование карты и математические координаты для интерполяции — не одно и то же.
5. Поэтому GPS-координаты часто переводят в проецированные X/Y
Если требуется серьёзная пространственная обработка — особенно геология, геофизика, экология, объёмы, расстояния, вариограммы — необходимо перейти от градусов (Longitude/Latitude) к метрам (Easting/Northing). Например, использовать соответствующую зону UTM.В таблице Surfer это делается командой:
Data → Coordinate System → New Projected Coordinates
Эта команда реально пересчитывает числа. После проецирования появляются новые метрические столбцы (Easting и Northing). То есть вместо углов на поверхности эллипсоида Surfer получает прямоугольную метрическую систему координат.
6. Что происходит при самом проецировании
Внутри преобразования используются несколько компонентов:
Datum → Ellipsoid → Projection → Projection parameters
Например, WGS84 описывает форму Земли определённым эллипсоидом. Затем выбранная картографическая проекция математически переносит точку с поверхности этого эллипсоида на плоскость. Важно правильно указать исходный datum, так как одинаковые числовые значения широты и долготы при разных datum могут соответствовать несколько различающимся положениям на Земле.
7. Почему перевод в метры особенно полезен перед интерполяцией
После проецирования возникает обычная декартова система. Теперь расстояние между двумя точками имеет естественный физический смысл.
Это особенно существенно для методов Surfer, где результат зависит от расстояний (IDW, Kriging). Radius поиска (Search Neighborhood) также задаётся в единицах исходных данных. Если X/Y выражены в метрах, радиус «500» означает 500 м. Если в градусах — 0.005 означает 0,005 градуса.
.
8. Обязательно ли переводить Lat/Long в UTM?
Нет, Surfer разрешает напрямую создавать сетку из Latitude/Longitude. Для простой визуализации небольшого участка этого может быть достаточно.
Но есть важный нюанс: при интерполяции методами Kriging, IDW или RBF используется круглый радиус поиска. Если строить Grid напрямую в градусах на средних широтах, физически этот круг на местности превратится в овал (ведь градус широты в метрах длиннее градуса долготы). Это исказит пространственные веса точек.

Поэтому для количественной обработки (объёмы, расстояния, площади) предварительный перевод в метры настоятельно рекомендуется.
9. После координат начинается уже не GPS-обработка, а gridding
Предположим, есть облако измерений (XYZ). Surfer должен превратить его в непрерывную поверхность. Для этого используется:
Home → Grid Data → Grid Data
Surfer получает набор нерегулярно расположенных точек и создаёт регулярную прямоугольную сетку (grid). В каждой ячейке/узле сетки вычисляется значение Z.
- GPS-координаты при этом становятся геометрией задачи
До интерполяции данные означали: «в конкретной GPS-точке измерено значение 18,6».
После интерполяции получается математическая функция: $Z = f(X,Y)$.
Эта функция используется алгоритмом в момент расчета, но в самом файле .GRD хранится не она, а уже готовая строгая дискретная числовая матрица (растр), вычисленная по этой функции для каждого регулярного узла.
11. Разные методы по-разному используют координаты
Метод IDW в основном учитывает расстояния: чем ближе точка, тем больше её вес.
Kriging учитывает не только расстояние, но и пространственную структуру данных через вариограмму.
Каждый из множества методов (Natural Neighbor, RBF, Triangulation) создаёт немного другую поверхность из одних и тех же измерений. Геометрия X/Y во всех случаях критически важна.
12. Затем появляется регулярная координатная сетка
Из заданного диапазона X и Y Surfer формирует матрицу с определенным шагом (например, 50х50 метров). Для каждого пересечения $X_i,Y_j$ вычисляется $Z_{ij}$. Именно эта регулярная структура и есть grid/raster файл.
13. Из GRD уже строится карта
После gridding исходные GPS-точки больше не являются самой картой. Они послужили основой для создания поверхности.
Большинство карт (Contour, Color Relief, 3D Surface) строятся из файла .GRD. При этом исходные точки полезно наложить сверху как слой Post Map, чтобы визуально проверить соответствие поверхности реальным измерениям.
14. Source Coordinate System и Target Coordinate System
В интерфейсе пересчета таблиц Surfer (Worksheet) есть два разных понятия:
- Source Coordinate System: «В какой системе находятся исходные данные?»
- Target Coordinate System: «В какую систему координат пересчитать столбцы?»
При этом в окне построения карты (Plot Window) целевая система координат карты называется просто Coordinate System (находится в свойствах Map -> Properties -> Coordinate System). Surfer способен иметь несколько слоёв с разными исходными системами (например, точки Lat/Long и космоснимок в UTM) и перепроецировать их «на лету» (on-the-fly) в единую систему координат карты.
15. Перепроецирование готовой GRD-сетки
Если вы создали сетку в Lat/Long, а затем понадобилась UTM, можно использовать:
Grids → Edit → Project
При этом происходит не просто смена координат, а создание новой геометрии растра и пересэмплирование (resampling) значений Z (Nearest Neighbor, Bilinear и др.). Чтобы избежать лишних математических искажений при интерполяции, логичнее сначала перевести исходные XYZ-точки в метры, и только потом делать по ним Grid.
16. Что Surfer проверяет перед gridding (фильтрация дубликатов)
GPS-данные нередко требуют очистки. Например, измерения могут иметь одинаковые координаты X/Y с разными Z (duplicate data).
Для таких методов, как Kriging и Radial Basis Function (RBF), совпадающие координаты — это не просто визуальный мусор. Они вызывают фатальную математическую ошибку (попытку деления на ноль или вырожденную матрицу) и останавливают процесс. Поэтому фильтрация дубликатов (усреднение, взятие первого значения и т.д.) перед созданием сетки — техническая необходимость.
17. Очень частая ошибка: назвать градусы «метрами»
Пользователь видит градусы (44.812; 41.703), открывает Assign Coordinate System и выбирает UTM (метры). Но команда Assign не пересчитывает числа! Surfer начинает думать, что точка находится в 44 метрах от экватора.
Правильно: назначить реальную систему (Assign CRS -> WGS84 Lat/Long), а затем использовать инструмент пересчета (New Projected Coordinates -> UTM).

18. Практический рабочий процесс для GPS-съёмки
Если свести всё к одной схеме:
- GPS-ПРИЁМНИК (экспорт координат и параметра Z).
- Проверка формата: при необходимости перевод из DMS в Decimal Degrees в Worksheet.
- Assign Coordinate System: указание исходного датума (обычно WGS84 Lat/Lon).
- New Projected Coordinates: пересчет X/Y в метрическую проекцию (например, UTM).
- Фильтрация: удаление математических дубликатов точек.
- Interpolation (Grid Data): расчет регулярной матрицы .GRD по метрическим XYZ.
Картографирование: построение изолиний (Contour) или заливки (Color Relief) по .GRD и наложение исходных точек (Post Map) для контроля.

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