Заполнить/построить массив netcdf4 или numpy из массива строк CVA, хранящегося в текстовом файлеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Заполнить/построить массив netcdf4 или numpy из массива строк CVA, хранящегося в текстовом файле

Сообщение Anonymous »


Я новичок в программировании на Python, поэтому, пожалуйста, будьте терпеливы. Я пытаюсь создать проект 3D-принтера, который потребует от меня использования данных из нескольких больших файлов данных. Я буду использовать скрипт openscad для создания stl-файлов для 3D-печати глобуса с сильно увеличенным рельефным профилем на поверхности. Я извлек и объединил соответствующие данные из двух больших файлов данных netcdf4 GEBCO_2023.nc и GEBCO_2023_TID.nc. Я создал файлы ascii txt, содержащие информацию, которая потребуется openscad. Формат файла, который требуется для openscad, представляет собой массив CSV, в котором все данные хранятся в виде строковых чисел, с использованием [] для обозначения размеров в 2-мерных массивах.

Глобальный массив данных о высоте/глубине океана. Точки данных, представленные в этом файле, составляют небольшую часть от общего количества, хранящегося в исходных файлах netcdf, но в файле все еще есть сотни тысяч точек. Каждое геологическое место, представленное в массиве, имеет 5 переменных (если использовать этот термин в исходном формате NETCDF, как я его понимаю)

[[широта,долгота,высота,TI_Code,segment_code], [[-85.00,-180.00,2331,0,20],[-85.00,-177.13,1034,0,20],[-85.00,-174.26,1966,0,20], ... ,[84.75,172.06,-3224,41,0],[84.75,174.79,-2867,11,0],[84.75,177.52,-2561,41,0]]

Я использовал несколько различных подходов, чтобы попытаться преобразовать этот файл в формат массива, который можно использовать для «поиска» высот местоположения внутри массива. Мне нужно будет найти точку местоположения в массиве, ближайшую к заданной длинной/широтной координате, и скопировать соответствующее значение высоты во второй массив. Насколько я понимаю, формат NETCDF был бы идеальным, поскольку я считаю, что включенная информация заголовка предназначена для выполнения задач такого типа. Мне неоднократно не удавалось прочитать значения массива строк в каком-либо другом формате, даже в формате файла NETCDF. Я считаю, что если я смогу прочитать значения из области ввода в NETCDF и построить необходимую информацию заголовка или, возможно, просто прочитать значения файла в 2D-массив Numpy, я, вероятно, смогу оттуда решить, как выполнить задачу. В проекте имеется второй массив данных, насчитывающий более 6000 точек интереса (городов), расположенных по всему земному шару. Этот второй массив также хранится в том же текстовом формате, что и массив 2d CVS []. Чтобы создать подробный файл STL с помощью openscad, мне нужно будет просмотреть каждое место в файле города. Координаты долготы и широты, указанные в файле города, будут использоваться для определения высоты ближайшей точки, включенной в файл данных высот. Соответствующее значение высоты будет скопировано в новую переменную/столбец в массиве города. Измененный массив городов должен быть сохранен в виде текстового файла в том же формате с добавлением дополнительного значения высоты для каждого местоположения города.

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

В общей схеме этого проекта не имеет значения, занимает ли время обработки секунду или час. Мне просто нужен какой-то метод для включения высот каждого города в данные городского массива.

Буду очень благодарен за любые советы, подробную информацию о том, как мне к этому подойти.

Если вы зашли так далеко. Спасибо, что уделили время.

Моей последней попыткой было прочитать файл в переменную, а затем создать массив с использованием этой переменной. Я надеялся, что numpy.array сможет распознать формат CVS, [] и загрузить 2D-массив numpy. Он этого не делает. он загружает массив нулевого измерения
импортировать numpy как np file1 = open("topo_glb2.txt", "r+") print("Выход функции чтения: ") печать(file1.read()) lwarray= np.array(файл1) печать(lwarray.ndim) печать(lwarray.shape) печать (lwarray.dtype) печать (lwarray) выдает этот результат на консоли ... [84.75,161.15,-3490,41,0],[84.75,163.88,-3433,41,0],[84.75,166.61,-3370,41,0],[84.75,169.34,-3352,41,0 ],[84.75,172.06,-3224,41,0],[84.75,174.79,-2867,11,0],[84.75,177.52,-2561,41,0]] 0 () объект
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Встроенная тема, не применяемая в CVA
    Anonymous » » в форуме CSS
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Почему моя встроенная тема не применяется в CVA?
    Anonymous » » в форуме CSS
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Я хочу построить прямоугольник с указанными 4 координатами в текстовом файле в Gnuplot. Прямоугольник может быть под угл
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Доступ только к одной строке/элементу df/массива, хранящегося в Azure Blob, из функции Azure.
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Доступ только к одной строке/элементу df/массива, хранящегося в Azure Blob, из функции Azure.
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»