Извиняюсь, если я упускаю очевидное ...
Я строю трехмерную поверхность с помощью rgl. Мой код
library(rgl)
dem1 = read.table(file="file.txt",skip=5,header=F,na.strings="0.")
dem = dem1[order(dem1$V1,dem1$V2),]
z = matrix(dem$V3,nrow=1250,ncol=1250)
is.na(z) = (z < 200)
#create x y dimensions
x=4*(1:nrow(z))
y=4*(1:ncol(z))
open3d()
bg3d("white")
persp3d(x,y,z)
, которая дает эту карту (цвет был добавлен, чтобы лучше видеть возможности, хотя я не поместил код для этого выше)
Проблема в том, что все, что я делаю с этой картой, она перевернута, т. Е. Х должен быть у, а то, что сейчас у, идет с запада (0) на восток (5000), но это должно быть наоборот, так что повышенный элемент на самом деле должно быть внизу слева, а не внизу справа.
Я нарисовал очень простую контурную карту, используя тот же файл с этим сценарием
dem=read.table("file.txt",header=F,skip=5,na.strings="0.")
library(lattice)
contourplot(dem$V3 ~ dem$V1+dem$V2)
что дает
и который получает правые оси и самую возвышенную область в левом нижнем углу, именно там, где и должно быть, поэтому с данными нет проблем.
Я объясняю, как данные выглядят здесь и почему я чувствую необходимость изменить их порядок с
dem = dem1[order(dem1$V1,dem1$V2),]
Странно то, что я использую приведенную выше команду или нет, карта трехмерной поверхности выглядит точно так же, что заставляет меня задуматься, действительно ли код использует набор данных "dem", созданный с помощью команды order
, или это все еще используя исходные данные "dem1", которые он прочитал из файла и находится в неправильном порядке.
Я очень рад отправить данные по запросу или поместить их куда-нибудь, это можно увидеть, но я не могу скопировать их здесь, поскольку это 1250 строк x1250 столбцов.
Заранее спасибо!