[R-sig-Geo] Extract VIIRS data in R

Miluji Sb m||uj|@b @end|ng |rom gm@||@com
Fri Mar 20 16:11:43 CET 2020


Dear Edzer,

Thank you for your reply and the suggestions. Apologies for not copying the
list, I forgot to hit 'reply all'.

The data is Nighttime lights from Black Marble.

Source of the geo-location data (VNP03DNB):
https://ladsweb.modaps.eosdis.nasa.gov/missions-and-measurements/products/VNP03DNB/
Observation data (VNP02DNB):
https://ladsweb.modaps.eosdis.nasa.gov/missions-and-measurements/products/VNP02DNB/


Thank you for the code, I only changed the path but I am getting the
following error when I run the following part;

latlon = read_stars(
c('NETCDF:"VNP03DNB.A2020015.0236.001.2020044182419.nc
":/geolocation_data/latitude',
'NETCDF:"VNP03DNB.A2020015.0236.001.2020044182419.nc
":/geolocation_data/longitude'))

"Error in CPL_read_gdal(as.character(x), as.character(options),
as.character(driver),  :  file not found"

I checked the path. Thank you again.

Best,

Milu

On Fri, Mar 20, 2020 at 9:27 AM Edzer Pebesma <edzer.pebesma using uni-muenster.de>
wrote:

> Dear Milu,
>
> It is more practical for yourself and more helpful for others when you
> reply to the list. I now Cc: the list, but that is not how it is
> supposed to work. Also, please use text mails, not html with inline
> links. Finally, your links point to things you downloaded and
> reuploaded, not to the place where you got the dataset from - for future
> users having the same problem and consulting mailing list archives this
> is also not really helpful.
>
> I tried this:
>
> # maybe: remotes::install_github("r-spatial/stars")
> library(stars)
> r = read_stars("VNP02DNB_NRT.A2020069.1048.001.nc")
> latlon = read_stars(
> c('NETCDF:"VNP03DNB.A2020015.0236.001.2020044182419.nc
> ":/geolocation_data/latitude',
>  'NETCDF:"VNP03DNB.A2020015.0236.001.2020044182419.nc
> ":/geolocation_data/longitude'))
> r_ll = st_as_stars(r,
>    curvilinear = list(x = latlon[[2]], y = latlon[[1]]))
> plot(r_ll, reset = FALSE, axes = TRUE)
> maps::map('world', add = TRUE, col = 'red')
>
> Although I don't really know what the data is about, the plot generated
> (attached) to me seems to indicate that you are trying to glue the wrong
> latitudes and longitudes to your measurements.
>
>
>
> On 3/19/20 11:29 PM, Miluji Sb wrote:
> > Thank you for your reply and the information.
> >
> > This file
> > <https://drive.google.com/open?id=1zpqXJ8AlEcnk6ApRb75tfQc4-Y8AfK5h
> > needs
> > to be combined with the geo-location data in this file
> > <https://drive.google.com/open?id=1jLmXLjG0WGgdH3g4pGJNz0ZOqXOfKpcW>. I
> > will try out the stars package, any suggestions will be highly
> appreciated.
> >
> > Thanks again and stay safe.
> >
> > Best,
> >
> > Milu
> >
> > On Wed, Mar 18, 2020 at 5:25 PM Edzer Pebesma
> > <edzer.pebesma using uni-muenster.de <mailto:edzer.pebesma using uni-muenster.de>>
> > wrote:
> >
> >     If the product info is in this document:
> >
> https://ladsweb.modaps.eosdis.nasa.gov/missions-and-measurements/viirs/NASAVIIRSL1BUGAug2019.pdf
> >
> >     then it sounds like these data are distributed as curvilinear grids,
> >     meaning that there are two additional raster with for each pixel the
> >     longitude and the latitude. The file you pointed to does not contain
> >     these two grids, but you should be able to get them at the place
> where
> >     you got the data. With that, you can use package stars to load them,
> and
> >     e.g. resample to some (more) regular grid.
> >
> >     See e.g.
> >
> https://r-spatial.github.io/stars/articles/stars4.html#curvilinear-grids
> >
> >     On 3/18/20 3:29 PM, Michael Sumner wrote:
> >     > You won't find much on this kind of file in the R community, this
> is
> >     > relatively new NetCDF-4 with "groups", and contains a satellite
> >     "granule" -
> >     > a kind of pre-mapping raw data array with only technical
> >     information about
> >     > where the scanning occurred.
> >     >
> >     > In short, raster and stars package (and RNetCDF and ncdf4) will
> >     read the
> >     > data from this file, but give very little or no help for how to
> >     treat it
> >     > like a map. The spatial resolution and extent are purely nominal
> >     as shown
> >     > by raster, a spacing of 1 in two dimensions and extending from 0
> >     to nrows,
> >     > 0 to ncols (with a  half cell shift). There aren't any coordinate
> >     arrays in
> >     > the file, or any simple way to transform from this matrix-space to
> >     > geography as far as I know.  (Would love to be corrected on how to
> do
> >     > that).
> >     >
> >     > You'd need to pursue domain-specific expertise to discover the
> >     mapping of
> >     > this, unless some kind soul turns up to help here. I expect you'll
> >     want to
> >     > find a product that has been converted into simpler form for these
> >     data.
> >     >
> >     > Cheers, Mike.
> >     >
> >     >
> >     > On Wed, Mar 18, 2020 at 1:39 AM Miluji Sb <milujisb using gmail.com
> >     <mailto:milujisb using gmail.com>> wrote:
> >     >
> >     >> Dear all,
> >     >>
> >     >> Hope everyone is keeping safe.
> >     >>
> >     >> I am trying to extract/read VIIRS nighttime lights data but the
> >     output
> >     >> seems rather strange.
> >     >>
> >     >> I have uploaded the file here
> >     >>
> >     <https://drive.google.com/open?id=1zpqXJ8AlEcnk6ApRb75tfQc4-Y8AfK5h>
> >     so as
> >     >> not exceed the size limit of the email.
> >     >>
> >     >> ## Code ##
> >     >> library(ncdf4)
> >     >> library(rgdal)
> >     >>
> >     >> netcdf_file <- c("VNP02DNB_NRT.A2020069.1048.001.nc
> >     <http://VNP02DNB_NRT.A2020069.1048.001.nc>")
> >     >> nl <- brick(netcdf_file, lvar=0, values=TRUE,
> >     >> varname="observation_data/DNB_observations")
> >     >>
> >     >> ## Detail ##
> >     >> class      : RasterLayer
> >     >> dimensions : 3232, 4064, 13134848  (nrow, ncol, ncell)
> >     >> resolution : 1, 1  (x, y)
> >     >> extent     : 0.5, 4064.5, 0.5, 3232.5  (xmin, xmax, ymin, ymax)
> >     >> crs        : NA
> >     >> source     :
> >     C:/Users/shour/Desktop/VNP02DNB_NRT.A2020069.1048.001.nc
> >     <http://VNP02DNB_NRT.A2020069.1048.001.nc>
> >     >> names      : DNB.observations.at.pixel.locations
> >     >> zvar       : observation_data/DNB_observations
> >     >>
> >     >> The spatial resolution is supposed to be 750m but this shows 1°.
> >     What am I
> >     >> doing wrong? Any help will be greatly appreciated. Thank you.
> >     >>
> >     >> Sincerely,
> >     >>
> >     >> Millu
> >     >>
> >     >>         [[alternative HTML version deleted]]
> >     >>
> >     >> _______________________________________________
> >     >> R-sig-Geo mailing list
> >     >> R-sig-Geo using r-project.org <mailto:R-sig-Geo using r-project.org>
> >     >> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >     >>
> >     >
> >     >
> >
> >     --
> >     Edzer Pebesma
> >     Institute for Geoinformatics
> >     Heisenbergstrasse 2, 48149 Muenster, Germany
> >     Phone: +49 251 8333081
> >     _______________________________________________
> >     R-sig-Geo mailing list
> >     R-sig-Geo using r-project.org <mailto:R-sig-Geo using r-project.org>
> >     https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
>
> --
> Edzer Pebesma
> Institute for Geoinformatics
> Heisenbergstrasse 2, 48149 Muenster, Germany
> Phone: +49 251 8333081
>

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list