Я решил так:
<button type="button" class="btn btn-default no" data-dismiss="modal"
onclick="$('.has-error').children('p').remove('p'); $('.has-error').removeClass('has-error')">Cancel</button>
Так как записи являются фиксированной длиной (16-разрядные целые числа со знаком), и Вы знаете размер сетки (1201 x 1201 или 3601x3601), структура Python , модуль кажется идеально удовлетворенным (непротестированный код):
from struct import unpack,calcsize
# 'row_length' being 1201 or 3601 and 'row' being the raw data for one row
def read_row( row, row_length ):
format = 'h' # h stands for signed short
for i in range(0, row_length):
offset = i * calcsize(format)
(height,) = unpack(format, row[offset : offset+calcsize(format))
# do something with the height
Описание его в большем количестве общих обозначений, в основном Вы хотите считать файл в 2 байтах за один раз, проанализировать чтение байтов как 16-разрядное целое число со знаком и обработать его. Так как Вы уже знаете размер сетки, можно считать его последовательно строкой или любым другим способом, который удобен для приложения. Это также означает, что можно случайным образом искать на определенные координаты в файле данных.
Файлы данных NASA SRTM имеют формат Big-Endian, поэтому в зависимости от того, на какой платформе вы читаете данные, вам может потребоваться преобразование с Big-Endian в Little-Endian.
Существует множество источников о том, как это сделать, у меня нет опыта работы с Python, поэтому я не могу вам здесь помочь.
Но если вы забудете это, ваши ценности будут испорчены.
Если у вас есть фотошоп, вы можете поиграть с необработанным импортом, чтобы заставить его читать эти файлы и сохранять их для чего-нибудь более полезного. В прошлом у меня был некоторый успех в подобных делах.