Something is still not penetrating this thick skull of mine. When I run
ogr2ogr --config DXF_INLINE_BLOCKS FALSE --config DXF_MERGE_BLOCK_GEOMETRIES FALSE -f "PostgreSQL" PG:"host=localhost user=postgres dbname=db password=pass" W_Works.dxf -overwrite -skipfailures -sql "SELECT ST_Translate(ST_Scale(ST_Rotate((ST_Dump(b.wkb_geometry)).geom, e.blockangle / 180 * PI()), e.blockscale[1], e.blockscale[2]), ST_X(e.wkb_geometry), ST_Y(e.wkb_geometry)) AS wkb_geometry, CASE WHEN b.ogr_style IS NOT NULL THEN b.ogr_style ELSE e.ogr_style END AS ogr_style, e.layer, e.linetype, e.subclasses, b.text FROM entities e INNER JOIN blocks b USING (blockname)" I get error - Undefined function `st_dump`used. When I run a simplified version ogr2ogr --config DXF_INLINE_BLOCKS FALSE --config DXF_MERGE_BLOCK_GEOMETRIES FALSE -f "PostgreSQL" PG:"host=localhost user=postgres dbname=db password=pass" W_Works.dxf -overwrite -skipfailures -sql "SELECT wkb_geometry From entities" I get error - unrecognized field name wkb_geometry In the last, when I substitute wkb_geometry for the blocks (name, angle, scale) or text I get no errors. In all of the commands I`ve run, the block table remains empty. Bob From: Ralf Suhr Sent: Wednesday, December 21, 2011 1:30 AM To: Bob Pawley Cc: [email protected] Subject: Re: [gdal-dev] DXF to Postgis using ogr2ogr On Import you can't use -nln option or you run ogr2ogr to times. One for entities layer and secound for blocks. ogr2ogr -f postgresql -nln myentities PG:"..." W_Works.dxf entities ogr2ogr -f postgresql -nln myblocks PG:"..." W_Works.dxf blocks If you haven't the legacy functions import into your postgis installation you need to prefix with "ST_" Translate, Scale, Rotate and Dump. On Dienstag 20 Dezember 2011 22:30:20 Bob Pawley wrote: > When I run > ogrinfo --config DXF_INLINE_BLOCKS FALSE W_Works.dxf > > it results in this message > > Open of `W_Works.dxf' > using driver `DXF' successful. > 1: blocks > 2: entities > > And I’m using DraftSight as a drawing viewer.All of the information I want > is on the model, but it still won’t import unless I explode the dxf file > before saving. > > I did try running your suggested sql command. I got an error “Undefined > function ‘Dump’ used. > > I also used the sql suggestion as a trigger function on the import table. > Neither blocks nor entities were recognized. > > Bob > > From: Ralf Suhr > Sent: Monday, December 19, 2011 8:52 AM > To: Bob Pawley > Cc: [email protected] > Subject: Re: [gdal-dev] DXF to Postgis using ogr2ogr > > http://www.gdal.org/ogr/drv_dxf.html > > > > Does ogrinfo print out the "blocks" layer? > > ogrinfo --config DXF_INLINE_BLOCKS FALSE File.dxf > > INFO: Open of `File.dxf' > > using driver `DXF' successful. > > 1: blocks > > 2: entities > > > > To see what can be imported by ogr use a dxfviewer that display only the > model space. I have tested ogr with dxf version up to AC1018 without > problems except the paper space. > > > > > > Gr > > Ralf > > On Montag 19 Dezember 2011 17:21:58 Bob Pawley wrote: > > Thanks Ralf > > > > > > > > So far, I haven’t been able to populate the block columns unless I use a > > > > DXF file which has been exploded before saving. > > > > > > > > In all of my searching, I have not come across your suggestion of > > > > dereferencing the block. Can you point me to some documentation? > > > > > > > > Bob > > > > > > > > > > > > From: Ralf Suhr > > > > Sent: Monday, December 19, 2011 12:58 AM > > > > To: [email protected] > > > > Cc: Bob Pawley > > > > Subject: Re: [gdal-dev] DXF to Postgis using ogr2ogr > > > > > > > > Hi Bob, > > > > > > > > > > > > > > > > the dxf driver writes to tables "entities" and "blocks". You have to > > > > dereference the block layer yourself. > > > > > > > > > > > > > > > > SELECT Translate( Scale( Rotate((Dump(b.wkb_geometry)).geom, e.blockangle > > / > > > > 180 * PI()), e.blockscale[1], e.blockscale[2]), ST_X(e.wkb_geometry), > > > > ST_Y(e.wkb_geometry)) AS wkb_geometry, > > > > > > > > CASE WHEN b.ogr_style IS NOT NULL THEN b.ogr_style ELSE e.ogr_style END > > AS > > > > ogr_style, > > > > > > > > e.layer, > > > > > > > > e.linetype, > > > > > > > > e.subclasses, > > > > > > > > b.text > > > > > > > > FROM entities e > > > > > > > > INNER JOIN > > > > > > > > blocks b USING (blockname); > > > > > > > > > > > > > > > > Sometimes you have blocks with world coordinates and no connection in > > > > entities. > > > > > > > > SELECT (Dump(b.wkb_geometry)).geom AS wkb_geometry, > > > > > > > > b.ogr_style, > > > > > > > > b.layer, > > > > > > > > b.linetype, > > > > > > > > b.subclasses, > > > > > > > > b.text > > > > > > > > FROM blocks b > > > > > > > > WHERE blockname NOT IN > > > > > > > > ( > > > > > > > > SELECT DISTINCT blockname > > > > > > > > FROM entities > > > > > > > > WHERE blockname IS NOT NULL > > > > > > > > ); > > > > > > > > > > > > > > > > Some newer DXF Formats can have features in paper space. This is now not > > > > supported by ogr2ogr. > > > > > > > > > > > > > > > > > > > > > > > > Gr > > > > > > > > Ralf > > > > On Freitag 16 Dezember 2011 22:14:38 Bob Pawley wrote: > > > I have imported a dxf file into Postgis using the following command > > > line > > > > > > - > > > > > > > > > > > > > > > > > > > > > > > > set DXF_INLINE_BLOCKS=FALSE&set DXF_MERGE_BLOCK_GEOMETRIES=FALSE&set > > > > > > > > > > > > PGCLIENTENCODING=LATIN1&&ogr2ogr -f "PostgreSQL" PG:"host=localhost > > > > > > > > > > > > user=postgres dbname=dbname password=pass" W_Works.dxf -nln Import_PID > > > > > > > > > > > > -overwrite –skipfailures > > > > > > > > > > > > > > > > > > > > > > > > All geometries are intact. > > > > > > > > > > > > > > > > > > > > > > > > However, the text is part of the Linestring layer and not in the text > > > > > > > > > > > > column of the Postgresql table. > > > > > > > > > > > > > > > > > > > > > > > > Is this to be expected? > > > > > > > > > > > > > > > > > > > > > > > > Is there some way of screening out the text as text and point geometry? > > > > > > > > > > > > > > > > > > > > > > > > Bob
_______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
