Yes this helps tremendously!

Thank you!

From: dany.geoto...@gmail.com [mailto:dany.geoto...@gmail.com] On Behalf Of 
Daniele Romagnoli
Sent: Thursday, January 22, 2015 2:44 AM
To: Sylvia Charchut
Cc: geotools-devel@lists.sourceforge.net
Subject: Re: [Geotools-devel] Question on granules in 
StructuredGridCoverage2DReader

Hi Sylvia,
my answers inline...

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax:      +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i 
file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo 
è consentito esclusivamente al destinatario del messaggio, per le finalità 
indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne 
il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di 
procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro 
sistema. Conservare il messaggio stesso, divulgarlo anche in parte, 
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, 
costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.



The information in this message and/or attachments, is intended solely for the 
attention and use of the named addressee(s) and may be confidential or 
proprietary in nature or covered by the provisions of privacy act (Legislative 
Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in 
accord with its purpose, any disclosure, reproduction, copying, distribution, 
or either dissemination, either whole or partial, is strictly forbidden except 
previous formal approval of the named addressee(s). If you are not the intended 
recipient, please contact immediately the sender by telephone, fax or e-mail 
and delete the information in this message that has been received in error. The 
sender does not give any warranty or accept liability as the content, accuracy 
or completeness of sent messages and accepts no responsibility  for changes 
made after they were sent or for other risks which arise as a result of e-mail 
transmission, viruses, etc.


On Wed, Jan 21, 2015 at 3:39 PM, Sylvia Charchut 
<sylvia.charc...@nrlssc.navy.mil<mailto:sylvia.charc...@nrlssc.navy.mil>> wrote:
Daniele,

Hope this answers your questions.

Is it the time information somehow contained in the NetCDF file too (such as a 
time dimension with a single value) or is it this information only contained in 
the filename instead (january_t002)?
The time values are stored in the file as well. Some of the netcdf files I have 
only have one tau/time value and multiple elevation/depth values. Some will 
have multiple tau/time values and a single elevation/depth value.
Do you have any chance to share a netCDF file for analysis or a NCDump output?
Unfortunately I cannot share any of the data but the basic setup of most of my 
data is as such:
Lon (dimension)
Lat (dimension)
Time (dimension)
Depth (dimension)
Tau (time)
Variable1 (lon,lat,time,depth)

Ok. So the time dimension information is available in the dataset.
I will definitely try to use the imageMosaic in that case. You may see the 
sections of the training I have referred the past days about how to configure 
the coverages and the indexer.

In some cases I will have a variable named surf_variable (lon,lat,time) in 
which the assumption is it has a depth value of 0.0.
For that variable you can consider that there will not be an elevation 
dimension when configuring the layer.


What do you means when you say "can I separate the coverage"?
You had said granules are a 2D slice of a coverage with one time and one 
elevation value.
Can I have granules such as:

Granule1
Coverage: air_humidity
Time/Tau: 0.0
Elevation: 0.0
File: meteo_january_t001.nc<http://meteo_january_t001.nc>

Granule2
Coverage: air_humidity
Time/Tau:0.0
Elevation:3.0
File: meteo_january_t002.nc<http://meteo_january_t002.nc>

So one granule is referencing 
meteo_january_t001.nc<http://meteo_january_t001.nc> and the other granule for 
that coverage references a different netcdf file.

When creating an imageMosaic on top of multiple NetCDF files, an INDEX of all 
the available granules is created into a DB (PostGIS, H2, Oracle, ...) with 
information about their dimension values as well as their file location.
Moreover, you can add more datasets (and therefore, granules) to the INDEX, 
afterwards (supposing you have a model which generates data day by day... 
Therefore, when you perform a read operation or a query by specifying proper 
parameters values (such as TIME = T1, ELEVATION = E1) the INDEX will be scan to 
return the granules satisfying these values. So depending on the specified 
dimension values the involved granules may come from different files.
Does it helps? (Sorry but I think I haven't fully understood your question 
about granules separation. Not sure if you asking for "Is the imageMosaic able 
to deal with granules living into different files?" ---> YES. ).
Please, let me know.
Best Regards,
Daniele


Best,
Sylvia

From: dany.geoto...@gmail.com<mailto:dany.geoto...@gmail.com> 
[mailto:dany.geoto...@gmail.com<mailto:dany.geoto...@gmail.com>] On Behalf Of 
Daniele Romagnoli
Sent: Wednesday, January 21, 2015 3:33 AM

To: Sylvia Charchut
Cc: 
geotools-devel@lists.sourceforge.net<mailto:geotools-devel@lists.sourceforge.net>
Subject: Re: [Geotools-devel] Question on granules in 
StructuredGridCoverage2DReader

Hi Sylvia,
please read below...



On Tue, Jan 20, 2015 at 7:33 PM, Sylvia Charchut 
<sylvia.charc...@nrlssc.navy.mil<mailto:sylvia.charc...@nrlssc.navy.mil>> wrote:
Hey Daniele,

I have not looked at the imageMosaic, I’m fairly new to working with this data, 
but this sounds like what I am trying to do.

I am creating a StructuredGridCoverage2DReader for the netcdf files I have 
instead of using the netcdf plugin because the data I have doesn’t work as I 
need it to with the geotools plugin.

I have multiple netcdf files that are separated based on time 
(meteo_january_t001.nc<http://meteo_january_t001.nc>, 
meteo_january_t002.nc<http://meteo_january_t002.nc> etc…) but aggregated on 
elevation (Some are the opposite, individual elevations but aggregated time). 
And each file has multiple coverages as in your example with “air_humidity” 
etc… The issue I was having was when I published each file separately by the 
multiple coverages it contained, it was around 4,000 layers and took way too 
long for the project I am working on.

This is why you should consider using the ImageMosaic: it will allow to 
configure a single layer per coverage so that if all your netCDF files have, as 
an instance, air_temperature and air_humidity, you will have only 2 layers 
(instead of 4000) and all the dimensions and their values aggregated to the 
same single coverage will be handled by the indexing capabilities (so that you 
can query on TIME=A_TIMESTAMP_OR_A_RANGE, 
ELEVATION=AN_ELEVATION_VALUE_OR_A_RANGE...)


To reduce the layers, I’ve aggregated the files based on time. I was trying to 
see if I could use the granules to represent the coverages in this new 
aggregation of files but I didn’t have a clear understanding of granules or 
when that method was ever invoked.

So if I have a coverage “air_humidity” and some of the data for air_humidity 
comes from meteo_january_t001.nc<http://meteo_january_t001.nc> and the rest 
comes from meteo_january_t002.nc<http://meteo_january_t002.nc>, can I separate 
this coverage into granules even though it overlaps multiple files? (This was 
also why I asked about NcML’s because it’s a similar structure to what I have)

I have a couple of questions for you:
Is it the time information somehow contained in the NetCDF file too (such as a 
time dimension with a single value) or is it this information only contained in 
the filename instead (january_t002)?
Do you have any chance to share a netCDF file for analysis or a NCDump output?
What do you means when you say "can I separate the coverage"?
Here below, some additional chapters of the training you may check about 
imageMosaic multidimensional data management and NetCDF topic. Note that it 
contains sections about NetCDF data served as a single store through the self 
contained plugin as well as NetCDF data served through the imageMosaic. I'm 
adding "[topic]" to the list below).

[General info on ImageMosaic]: 
http://geoserver.geo-solutions.it/multidim/en/imagemosaic/index.html
[NetCDF plugin (single file management)]: 
http://geoserver.geo-solutions.it/multidim/en/netcdf/index.html
[NetCDF mosaicking (multiple files as a single store)]: 
http://geoserver.geo-solutions.it/multidim/en/mosaic_config/netcdf_mosaic.html
Hope this helps.
Cheers,
Daniele



==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313<tel:%2B39%200584%20962313>
fax:      +39 0584 1660272<tel:%2B39%200584%201660272>

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i 
file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo 
è consentito esclusivamente al destinatario del messaggio, per le finalità 
indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne 
il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di 
procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro 
sistema. Conservare il messaggio stesso, divulgarlo anche in parte, 
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, 
costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.



The information in this message and/or attachments, is intended solely for the 
attention and use of the named addressee(s) and may be confidential or 
proprietary in nature or covered by the provisions of privacy act (Legislative 
Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in 
accord with its purpose, any disclosure, reproduction, copying, distribution, 
or either dissemination, either whole or partial, is strictly forbidden except 
previous formal approval of the named addressee(s). If you are not the intended 
recipient, please contact immediately the sender by telephone, fax or e-mail 
and delete the information in this message that has been received in error. The 
sender does not give any warranty or accept liability as the content, accuracy 
or completeness of sent messages and accepts no responsibility  for changes 
made after they were sent or for other risks which arise as a result of e-mail 
transmission, viruses, etc.



Hope that all made sense!

Thank you for your response, it definitely helped clear up a lot of questions 
I’ve had.

Best,
Sylvia

From: dany.geoto...@gmail.com<mailto:dany.geoto...@gmail.com> 
[mailto:dany.geoto...@gmail.com<mailto:dany.geoto...@gmail.com>] On Behalf Of 
Daniele Romagnoli
Sent: Tuesday, January 20, 2015 10:48 AM
To: Sylvia Charchut
Cc: 
geotools-devel@lists.sourceforge.net<mailto:geotools-devel@lists.sourceforge.net>
Subject: Re: [Geotools-devel] Question on granules in 
StructuredGridCoverage2DReader

Hi Sylvia,
I would take a look to the proposal related to the 
StructuredGridCoverage2DReader:
http://docs.codehaus.org/display/GEOTOOLS/Structured+grid+coverage+readers
Note that imageMosaic already implements StructuredGridCoverage2DReader and it 
also allows to "mosaic"/"expose" set of netcdf files as a single coverageStore.
What is your use case? Did you consider using ImageMosaic on top of NetCDF 
files instead of using NetCDF self-contained plugin to access multiple NetCDF 
files?
Long story short a StructuredGridCoverage2DReader may be used to provide access 
to a coverageStore containing multiple coverages where we may think about an 
"air_temperature" coverage, an "air_humidity" coverage, an 
"air_current_magnitude" coverage and an "air_current_direction" coverage 
containing values at different times and elevations for air temperature, 
humidity and current...
You can also think that all of these values are contained, let say into a 
single meteo-january.nc<http://meteo-january.nc> file.

The StructuredGridCoverage2DReader.getGranules method is used to get a 
GranuleSource for a specific coverage (referred by the coverage name such as 
"air_temperature", as an instance) which provides access to all the granules of 
that coverage (in NetCDF, you can think about coverage = variable).

A granule may be considered as an elementary 2D slice of the coverage.
So, when you deal as an instance with a mosaic made of multiple single banded 
TIFFs where each TIFF contains data for a specific time, a specific elevation 
and a specific variable, then each TIFF will represent a granule.
In case of a bigger single NetCDF file containing multiple times, elevations 
and variables, that file will provide access to multiple granules.

Some more concepts are available as part of a training multidim.You may take a 
look to this section:
http://geoserver.geo-solutions.it/multidim/en/imagemosaic/mosaic_basics.html
Once you get a GranuleSource (A single GranuleSource to refer all possible 
times, elevations, values of the same Coverage) you may restrict the 
collections of granules to be returned by that source using the  
GranuleSource.getGranules(Query q) method. It returns a SimpleFeatureCollection 
where each element of the collection is a granule.

In terms of NCML support, the NetCDF plugin is built on top of the NetCDF-java 
library which supports NCML. So you can do variable rename, dimension 
subsetting, variable delete through NCML and the NetCDF-java library will 
properly parse the "rules" contained in the NCML to the NetCDF plugin.
Do you have some specific questions on that topic?
Best Regards,
Daniele





==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313<tel:%2B39%200584%20962313>
fax:      +39 0584 1660272<tel:%2B39%200584%201660272>

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i 
file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo 
è consentito esclusivamente al destinatario del messaggio, per le finalità 
indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne 
il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di 
procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro 
sistema. Conservare il messaggio stesso, divulgarlo anche in parte, 
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, 
costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.



The information in this message and/or attachments, is intended solely for the 
attention and use of the named addressee(s) and may be confidential or 
proprietary in nature or covered by the provisions of privacy act (Legislative 
Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in 
accord with its purpose, any disclosure, reproduction, copying, distribution, 
or either dissemination, either whole or partial, is strictly forbidden except 
previous formal approval of the named addressee(s). If you are not the intended 
recipient, please contact immediately the sender by telephone, fax or e-mail 
and delete the information in this message that has been received in error. The 
sender does not give any warranty or accept liability as the content, accuracy 
or completeness of sent messages and accepts no responsibility  for changes 
made after they were sent or for other risks which arise as a result of e-mail 
transmission, viruses, etc.


On Tue, Jan 20, 2015 at 4:18 PM, Sylvia Charchut 
<sylvia.charc...@nrlssc.navy.mil<mailto:sylvia.charc...@nrlssc.navy.mil>> wrote:
Hello dev-list,

I am currently trying to implement the StructuredGridCoverage2DReader to use 
for publishing aggregated NetCDF files.

What exactly is the getGranules method used for and when is this method called 
in Geoserver?

I’ve tried looking through the NetCDF plugin and this is my understanding of a 
granule, it is one coverage/variable in a netcdf file (i.e water temp) and a 
GranuleSource is a list of these variables in one netcdf file. If this is not 
correct, can someone clarify?

Also, can anyone point me in the right direction with how NcML files are 
handled through the NetCDF plugin?

Thank you!


Sylvia Charchut


------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net<mailto:GeoTools-Devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/geotools-devel


------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net<mailto:GeoTools-Devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/geotools-devel


------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to