Использование pcolor для построения 3 массивов в python - PullRequest
1 голос
/ 31 октября 2011

Я прочитал спутниковое изображение, получил данные, полученные в течение долгого времени, и поместил их в массив.Размерность лат (135,90) и долг также (135,90).Размерность данных изначально была (135,90,4,9,8), которые 4 представляют полосу изображения.После обработки (которая использовала цикл for для размещения всей полосы в одном изображении), размерность данных равна biw (1215 720), что составляет (135 x9, 90 x 8).У меня есть код, который выглядит следующим образом:

x = lat   # dimension (135,90)
y = lon   # dimension (135,90)
z = data  # dimension ( 1215, 720) 

plt.figure()
plt.pcolor(x,y,z)
plt.colorbar()
plt.savefig("proj1.png")

Но потом он выдает очень плохое изображение ниже:

enter image description here

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

1 Ответ

0 голосов
/ 31 октября 2011

это снова я ... Документация для matplotlib говорит здесь http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.pcolor, что

X и Y, если дано, задают (x, y) координаты цветных четырехугольников;четырехугольник для C [i, j] имеет углы в:

    (X[i,   j],   Y[i,   j]),
    (X[i,   j+1], Y[i,   j+1]),
    (X[i+1, j],   Y[i+1, j]),
    (X[i+1, j+1], Y[i+1, j+1]).

В идеале размеры X и Y должны быть на единицу больше, чем у C;если размеры одинаковы, то последняя строка и столбец C будут игнорироваться.

И все же размер (или форма) C полностью отличается от X и Y. Matplotlib также хочет, чтобы выподготовить (1) X, Y - координаты x и y точки сетки (или угловой точки), и (2) C - значение плитки, окруженной 4 соседними точками сетки.так что у вас есть форма х, у 135 и 90. Тогда цвет должен быть либо 134 на 89, либо 135 и 90.

Насколько я понимаю, данные для этого C взяты из пикселей modis, и выуже есть у них 135х90.Таким образом, вы должны указать угловые точки этих 12150 плиток ... Имеет смысл?если вы знаете широту / долготу центральной точки, вы сдвигаете их на половину расстояния влево / вниз, а затем добавляете одну строку и столбец справа / выше, чтобы создать точки сетки.Если вы используете проецируемую координату вместо широты / долготы, это то же самое.Или вы можете забыть об этой сделке на половину расстояния и просто подключите те X и Y, которые вы уже получили (135x90), как есть, вместе с C, который должен быть 135x90, чтобы использовать pcolor.

В чем смысл9,8 дюйма (135,90,4,9,8)?у вас есть 9 * 8 различных свойств в каждой горизонтальной ячейке сетки?например, вертикальный слой, различные виды химических веществ или физические свойства?Если это так, вы должны выбрать один и составить сюжет по одному (то есть, кормить только C 135x90 вместе с вашими X и Y).Кроме того, вы упомянули, что 4 для "группы".Если эта цветовая полоса идентификатора похожа на RGBK, и вы хотите показать этот цвет, то, вероятно, pcolor не годится, и вам нужно искать какую-то другую функцию или что-то, что понимает эти 4 числа.pcolor просто читает диапазон чисел, затем применяет шкалу между минимальным и максимальным значениями, а затем применяет цветовую шкалу от синего к красному (или все, что вы выберете, если вы делаете)Я собрал набор данных для уровня 1B, VISIBLE вместе с документацией от http://disc.sci.gsfc.nasa.gov/AIRS/data-holdings/by-access-method.

Этот набор данных создается из цифровых номеров AIRS уровня 1A (DN), включая 4 канала в диапазоне от 0,4 до 1,0ит область спектра.Дневные данные AIRS делятся на 240 сцен, каждая продолжительностью 6 минут.Для измерений видимого / ближнего ИК диапазона AIRS отдельная сцена содержит 135 строк развертки с линией развертки, содержащей 720 пикселей поперечного следа и 9 пикселей поперечного следа;в общей сложности 720 x 9 x 135 = 874 800 видимых / ближних ИК-пикселей на сцену.

Поэтому проще всего было бы получить среднее значение 8x9 для каждого местоположения и выбрать одну из четырех дорожекодин за раз.В качестве альтернативы, поскольку эти полосы соответствуют разным цветам, как показано ниже для длины волны,

  • Канал 1: 0,41 мкм - 0,44 мкм
  • Канал 2: 0,58 мкм - 0,68 мкм
  • Канал 3: 0,71 мкм - 0,92 мкм
  • Канал 4: 0,49 мкм - 0,94 мкм

Вы можете использовать их в качестве значений RGBK для входа в функцию Pylab imshow (), может быть.Вам может не понравиться грубое разрешение на выходе после пространственного усреднения.В этом случае вы должны как-то взять координаты каждого из (9,8) пикселей в каждом месте.Должен быть стандартный способ, хотя данные являются широко используемыми общедоступными данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...