[GIS] How to convert raster (big size) to points

convertqgisrastervector

I have a raster : population density of Ivory Coast. I need to convert it to points, but I met several problems because of the size I think.

Here is what I tried :

1) GRASS GIS 7 command : r.to.vect => It works but takes several hours !

2) SAGA (2.1.2) : Raster values to points => It doesn't work (Couldn't load gdal_MrSID.dll -> but gdal_MrSID.dll is well installed in the SAGA package).

3) GDAL/ORG -> GDAL Conversion -> gdal2xyz -> It works but takes a lot of time (after 15min Processing algorithm still on 0%).

4) Raster -> Conversion -> Translate -> Save as ASCII grided XYZ. Then Layer -> Add Layer -> Add Delimited Text Layer :

     File name : the created file : xyz file
     File format : Custom delimiters : Tab & Space
     Record option : Unchecked the "First record has field names"
     Geometry definition : Point coordinates : X field = field_1 ; Y field = field_2.

Layer appears in the Layers Panel (contains 40 millions points).

Does anyone have a solution?

Best Answer

I don't know if there is a similar tool in QGIS, but in ArcGIS there is a function called Extract to Points (under Spatial Analyst Tools - Extraction). I have been using this with big datasets, and it works. However, you would have to define the points initially that you want to extract the data too.

If you wish to lower the resolution, you could use a tool similar to geospatial statistics first.

I know this isn't directly applicable to QGIS, but someone might know if there is an equivalent in QGIS.