У меня большой шейп-файл (1 ГБ), и мне нужно растеризовать его. Я уже попробовал следующее.
1.) Импортировать его в GRASS, используя v.in.ogr
эту ошибку, с сообщением об ошибке: ОШИБКА: G_realloc: невозможно выделить 498240036 байт в break_polygons.c: 188
2.) Моя вторая идея заключалась в использовании PostGIS. Импортируйте шейп-файл, измените его выборку в точке x, y сетки, а затем экспортируйте эти точки и создайте сетку из xyz. Я успешно импортировал шейп-файлы (полигоны и точки), но пересечение 1 миллиона полигонов с 300k точек кажется очень медленным. Я использовал следующий пост PostGIS, возможно, есть место для улучшения.
select polygons.land_id,grid.geom from grid,polygons where grid.geom && polygons.geom and within(grid.geom,polygons.geom)
3.) Я также пытался использовать simplify()
в PostGIS. Но я проиграл многим маленьким полигонам (то есть некоторые области, которые были покрыты только маленькими полигонами, стали нулевыми).
Любые идеи очень приветствуются.