[gdal-dev] Creating a diver: specify the options to create a layer
Even Rouault
even.rouault at spatialys.com
Tue Dec 12 06:35:28 PST 2023
You could also potentially expose all the height values as a attribute
of type RealList (not all OGR drivers support that though). The open
option also seems reasonable. Up to you w.r.t the use cases you've in mind.
Le 12/12/2023 à 15:02, Abel Pau a écrit :
>
> 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.
>
> intOGRMiraMonDataSource::Open(constchar*pszFilename, VSILFILE*fp,
>
> constOGRSpatialReference*poSRS, intbUpdateIn,
>
> */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.rouault at spatialys.com>
> *Enviado el:* dimarts, 12 de desembre de 2023 13:17
> *Para:* Abel Pau <a.pau at creaf.uab.cat>; gdal-dev at 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.
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20231212/94a004c4/attachment.htm>
More information about the gdal-dev
mailing list