[gdal-dev] Save to DXF with specific layer name with c#
Colin Wright
wrightc at forthvalleygis.co.uk
Mon Aug 2 04:58:38 EDT 2010
Hi Andreas,
Thanks for that - it's comforting to know I wasn't missing something obvious. I'll have a dig
around in the header.dxf and see what I can do from that end.
I haven't tried them yet, but do you know if there are gotchas with any of the other standard
DXF attributes? Entities, Text, etc...
Colin
>>> "Andreas Neumann" <a.neumann at carto.net> 30/07/10 13:31 >>>
Hi Colin,
Not sure if creation of layers is yet supported. I think it is only
supported if you created the layers in advance in the header.dxf file.
Frank Warmerdam is now working on a second round of improvements where
automatic layer creation (even if the layers aren't present in header.dxf)
should be supported.
You probably have to wait for a couple weeks for this to appear.
Frank can tell you more about it.
Andreas
On Fri, July 30, 2010 11:21 am, Colin Wright wrote:
> I'm using GDAL/OGR 1.7.2 with the C# bindings to write a tool that will
> export data to various formats.
>
> When it exports to DXF I want it to use a specific layer name rather than
> using the default dxf layer 0.
> The problem is that even though I'm setting the attribute "Layer" for each
> feature, it is still appearing as layer 0 in the final DXF file. I've
> checked and the "Layer" attribute does exist, and setting the attribute
> value doesn't throw any errors. The geometry is getting saved to the DXF
> OK.
>
> Any ideas? An extract of my code is below.
>
> //--------------------------------------------------
> //Loop through input layers writing to output
> lyrInput.ResetReading();
> Feature inFeat = lyrInput.GetNextFeature();
> iError = -1;
> while (inFeat != null)
> {
> //Try approach of creating new feature
> Feature outFeat = new Feature(lyrOutput.GetLayerDefn());
> if (outFeat.SetGeometry(inFeat.GetGeometryRef()) ==
> Ogr.OGRERR_NONE)
> {
> bFeatOK = true;
>
> //Generic attribs for DXF
> if (sOutFormat == "DXF")
> {
> //I've checked and this section is
> getting called
> outFeat.SetField("Layer",
> "MyLayerName");
>
> }
> }
> if (bFeatOK)
> {
> iError = lyrOutput.CreateFeature(outFeat);
> }
>
> outFeat.Dispose();
> inFeat = lyrInput.GetNextFeature();
> }
>
>
> Thanks
>
> Colin
>
>
> --------------------------------
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
--
Andreas Neumann
http://www.carto.net/neumann/
http://www.svgopen.org/
--------------------------------
--------------------------------
More information about the gdal-dev
mailing list