Координаты углов клеток в очень большом растре
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Координаты углов клеток в очень большом растре
Доброй ночи всем! Я пытаюсь решить очень сложную задачу, а именно - извлечь координаты углов клеток в растре GeoTiff. Проблема, собственно, состоит только в том, что растр этот очень большой; конечно, его можно разбить на части, преобразовать их в полигоны функцией rasterToPolygon(){raster} и извлечь из них координаты, но это займет чрезвычайно много времени.
Если кто-нибудь сталкивался с такой задачей - посоветуйте, пожалуйста: стоит ли пытаться решить ее в R или лучше воспользоваться другими программами, и какими именно?..
Если кто-нибудь сталкивался с такой задачей - посоветуйте, пожалуйста: стоит ли пытаться решить ее в R или лучше воспользоваться другими программами, и какими именно?..
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Координаты углов клеток в очень большом растре
Ваша очень сложная задача не выглядит как очень сложная
Если вам нужны координаты углов пикселей, то почему бы вам просто их не нагенерировать циклом, зная координаты верхнего левого угла и разрешение. Это можно сделать абсолютно где угодно, хоть в cmd.
Ну и непонятно в каком виде нужен результат.
Если вам нужны координаты углов пикселей, то почему бы вам просто их не нагенерировать циклом, зная координаты верхнего левого угла и разрешение. Это можно сделать абсолютно где угодно, хоть в cmd.
Ну и непонятно в каком виде нужен результат.
пристегивайтесь, турбулентность прямо по курсу
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Координаты углов клеток в очень большом растре
Я построил простейший цикл, он обсчитывает координаты со скоростью пикселя в секунду; 8 миллиардов пикселей (300-метровая карта мира) будут обсчитываться примерно 130 лет .Максим Дубинин писал(а): Если вам нужны координаты углов пикселей, то почему бы вам просто их не нагенерировать циклом, зная координаты верхнего левого угла и разрешение. Это можно сделать абсолютно где угодно, хоть в cmd.
Ну и непонятно в каком виде нужен результат.
А нужно все в виде простейшей таблицы (четыре строки с координатами углов на пиксель плюс колонки с номером пикселя и значением соответствующей ячейки растра).
Последний раз редактировалось Odd-Bird 20 авг 2015, 23:11, всего редактировалось 1 раз.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Координаты углов клеток в очень большом растре
Да, проблема еще в том, что пиксели на сфере не идеально квадратные, и их размер варьирует в разных широтах.Максим Дубинин писал(а):Ваша очень сложная задача не выглядит как очень сложная
Если вам нужны координаты углов пикселей, то почему бы вам просто их не нагенерировать циклом, зная координаты верхнего левого угла и разрешение. Это можно сделать абсолютно где угодно, хоть в cmd.
Ну и непонятно в каком виде нужен результат.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Координаты углов клеток в очень большом растре
Распишите подробнее, что за растр, какая система координат, какие именно "углы клеток" надо найти?
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 205
- Зарегистрирован: 20 фев 2013, 21:48
- Репутация: 30
Re: Координаты углов клеток в очень большом растре
8 миллиардов пикселей будут иметь 32 миллиарда координат углов ...
а может проще все же вычислять каждый раз 4 координаты для нужного пикселя, и не хранить их все ?
а может проще все же вычислять каждый раз 4 координаты для нужного пикселя, и не хранить их все ?
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Координаты углов клеток в очень большом растре
Растр Land Cover Maps отсюда: http://maps.elie.ucl.ac.be/CCI/viewer/download.php (GeoTiff ~4 Гб)
Система координат longlat, эллипсоид wgs84.
Мне нужно, чтобы значения из этого растра можно было бы извлекать средствами базы данных. Для этого нужно преобразовать его в таблицу с координатами углов ячеек или центроидов. Как это сделать на небольшом растре - я знаю, проблема только с повышением эффективности в случае большого файла.
Система координат longlat, эллипсоид wgs84.
Мне нужно, чтобы значения из этого растра можно было бы извлекать средствами базы данных. Для этого нужно преобразовать его в таблицу с координатами углов ячеек или центроидов. Как это сделать на небольшом растре - я знаю, проблема только с повышением эффективности в случае большого файла.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Координаты углов клеток в очень большом растре
Пиксели неравного размера, вычислять их координаты не получится - только считывать.sergsh писал(а):а может проще все же вычислять каждый раз 4 координаты для нужного пикселя, и не хранить их все ?
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Координаты углов клеток в очень большом растре
В общем, я решил ограничиться координатами центров пикселей.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
-
- Активный участник
- Сообщения: 205
- Зарегистрирован: 20 фев 2013, 21:48
- Репутация: 30
Re: Координаты углов клеток в очень большом растре
Спасибо за ссылку, интересные данные.Odd-Bird писал(а):Растр Land Cover Maps отсюда: http://maps.elie.ucl.ac.be/CCI/viewer/download.php (GeoTiff ~4 Гб)
Система координат longlat, эллипсоид wgs84.
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Координаты углов клеток в очень большом растре
проблема собственно в том, что никакие координаты ячеек вам хранить не нужно, поскольку растр и придуман для того, чтобы хранить только два 2-3 угла, и шаг сетки, а все остальное вычислять 4 действиями арифметики вместо SQL запросов. Если растр у вас в lon/lat, то достаточно просто перевести координаты в lon/lat, и вычислить номер ячейки/ячеек, куда они попадают. Т.е. от всей сетки вам нужно хранить 8 чисел, независимо от размера растра ... ну, может еще строку проекции. Пересечения ячеек с полигонами тоже быстро вычисляются без запросов (заметанием), с линиями - та же картина.Odd-Bird писал(а):Проблема, собственно, состоит только в том, что растр этот очень большой;
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей