Hi again,
thanks for the interest, Even. You’ll rest of me when I finish the driver. I 
promise :)

I didn’t explain it well. I try again.

Now I am in the case I want to translate from MiraMon to other GDAL formats.
For instance, points MiraMon format can have one or several Z values for each 
point. Then the user who wants to translate from MiraMon to other formats has 
to decide from command line which of Z’s wants to get.
Example:
The file MiraMoin_zPoints.pnt has 3 points:
point (2,2) has 3 heights: 8, 3.2 and 9
point (1,2) has 2 heights: 3, 8.1
point (2,4) has 1 height: 9

User has three options to get a Z for each point:
Get the first one for each point: 8, 3 and 9
Get the highest one for each point: 9, 8.1 and 9
Get the lowest one for each point: 3.2, 3 and 9

It’s a user decision. By default user will obtain the first one for each point 
but perhaps user wants another thing.

So, then, in a command line we could have:   ogr2ogr gml_file.gml 
MiraMoin_zPoints.pnt to translate from MiraMon to GML

If user wants to specify which Z wants, then this decision should be expressed 
in this line in some way.

After a research in the code (not documentation) I managed to get the way and 
now I would like to be sure that is the correct way:

ogr2ogr gml_file.gml MiraMoin_zPoints.pnt -oo Height=First, for getting the GML 
with the first Z of each point
ogr2ogr gml_file.gml MiraMoin_zPoints.pnt -oo Height=Hightest, for getting the 
GML with the highest Z of each point
ogr2ogr gml_file.gml MiraMoin_zPoints.pnt -oo Height=Lowest, for getting the 
GML with the lowest Z of each point

Using “-oo“, in the Open() method of MiraMon driver datasource I can retrieve 
this value, save it in some variable and then give, for every feature, the 
appropriate Z in the GetNextRawFeature() method of the layer.

int OGRMiraMonDataSource::Open(const char *pszFilename, VSILFILE *fp,
                           const OGRSpatialReference *poSRS, int bUpdateIn,
                            char **papszOpenOptionsUsr)


If it’s correct, perfect. If not, then, which way would be the appropriate?

Thanks and I hope have been clear now :)
Thanks!





De: Even Rouault <even.roua...@spatialys.com>
Enviado el: dimarts, 12 de desembre de 2023 13:17
Para: Abel Pau <a....@creaf.uab.cat>; gdal-dev@lists.osgeo.org
Asunto: Re: [gdal-dev] Creating a diver: specify the options to create a layer


Abel Pau,

Do I have to use the same to specify which height (in file with Z) I have to 
offer?
I have three possibilities: First Z, Highest or Lowest. I want the usem tells 
me what he/she wants.
How can I do that? Where can I get, then, this values?

I'm not sure to understand your question. Are those height values fields to 
fill in the file header?

If so, yes you may obviously offer layer creation options to fill them.  If 
those values are directly related with the Z component of geometries of 
features the user writes into the file, and you can edit the header in a post 
processing stage (but I believe your strategy was to write some temporary file, 
before the final file, so that should be possible), you could also possibly 
infer them from the values of the features too.
Even

--

http://www.spatialys.com

My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to