[postgis-users] FileGDB curves
Andy Colson
andy at squeakycode.net
Wed Nov 12 07:17:52 PST 2014
Yeah, I think the info is gone, because ST_LineToCurve looks the same.
As a test I changed my map file from:
DATA 'the_geom FROM washingtonmn.streets using unique gid using srid=3857'
TO:
DATA 'the_geom FROM (select gid, fullstreet, st_LineToCurve(the_geom) as
the_geom from washingtonmn.streets) as subq using unique gid using
srid=3857'
And it displays the same either way.
I am using FileGDB:
ogrinfo -so WCWebDataCC.gdb/
INFO: Open of `WCWebDataCC.gdb/'
using driver `FileGDB' successful.
The command I'm using is:
ogr2ogr -f PostgreSQL
-lco FID=gid
-lco SPATIAL_INDEX=OFF
-lco GEOMETRY_NAME=the_geom
-lco SCHEMA=washingtonmn
-lco PRECISION=NO
-lco DIM=2
-t_srs EPSG:3857
-nlt MULTILINESTRING
'PG:dbname=gis'
WCWebDataCC.gdb
Is the "-nlt MULTILINESTRING" doing bad things? Its in there because
some times I get layers marked as LINESTRING that dont convert so I just
up them to MULTILINESTRING to get it to go.
Thanks again,
-Andy
On 11/12/2014 9:03 AM, Rémi Cura wrote:
>
> Good, you narrowed the error.
>
> The function would do it for you,
> it would convert the curved parts into curves and the straight part into
> segment,
> forming a curved polygon, which is a set of curve and segments.
>
> But I'm affraid your line must appoximate the curves to have a result.
> Your 2 first screen shots indicate that the curve information is simply
> gone.
>
> You can manually approximate curves into line in arcgis before export,
> or maybe OGR driver for arcgis support curves
> (http://www.gdal.org/drv_filegdb.html)
>
> Cheers,
> Rémi-C
>
>
>
> 2014-11-12 15:56 GMT+01:00 Andy Colson <andy at squeakycode.net
> <mailto:andy at squeakycode.net>>:
>
> Mapserver displays it the same way:
>
> http://testmaps.camavision.__com/map/washingtonmn?pin=16.__028.21.11.0039
> <http://testmaps.camavision.com/map/washingtonmn?pin=16.028.21.11.0039>
>
> The data looks like:
>
> gis=# select st_AsText(the_geom) from streets where gid = 11517;
> -[ RECORD 1
> ]-----------------------------__------------------------------__------------------------------__------------------------------__------------------------------__------------------------------__------------------------------__------------------------------__------------------------------__------------------------------__------------------------------__-
> st_astext | MULTILINESTRING((-10344354.__4038468
> 5608573.22422463,-10344363.__9860388
> 5608565.68874797,-10344398.__9885982
> 5608528.81799097,-10344438.__5518419
> 5608468.68094317,-10344404.__2129173
> 5608265.5414558,-10344355.__0291817
> 5608227.92219317,-10344239.__0250123
> 5608196.3261761,-10344230.__7760714
> 5608197.59004929,-10344187.__3835781 5608212.14184435))
>
>
>
> So I'm assuming that its a convert problem, not a display problem.
>
> I'm not sure how to use ST_LineToCurve. This is a road layer and
> everything is a MULTILINESTRING, I can't tell the straight from the
> curves. Can I?
>
> Thanks,
>
> -Andy
>
>
>
> On 11/12/2014 3:58 AM, Rémi Cura wrote:
>
> Hey,
> first qgis can't deal with curve (i think),
> so your data may be curved in your postgis but the visualisation
> would
> be incorrect
> so if you are going to see some curve in qgis, you have to
> convert the
> curve to approximate theim using
> http://postgis.net/docs/ST___CurveToLine.html
> <http://postgis.net/docs/ST_CurveToLine.html>,
> then display the geom
> (you can do this in a view if you don't want to duplicate data)
>
> Now if you are really really sure that data in postgis is bad (use
> ST_AsTExt(geom) for example to see if anything look like curve)
> Either you approximate your curve with multiline and convert it
> back to
> curve with postgis
> (http://postgis.net/docs/ST___LineToCurve.html
> <http://postgis.net/docs/ST_LineToCurve.html>)
>
> Or you have to go the long way and pass the curves as
> attributes, and
> reconstruct it afterward.
> This seems like a very bad idea.
>
> I'm afraid curve support is very very limited in all gis tools.
>
> Cheers,
> Rémi-C
>
> 2014-11-12 0:00 GMT+01:00 Andy Colson <andy at squeakycode.net
> <mailto:andy at squeakycode.net>
> <mailto:andy at squeakycode.net <mailto:andy at squeakycode.net>>>__:
>
> Hi All,
>
> Not sure where the best place to ask this, so I'll start here.
>
> I have a FileGDB that contains some curved lines, I import
> it into
> PostGIS and they come out as chopped off Multiline.
>
> Here are some screen shots to help explain:
>
> Here is arc viewing the .gdb:
> http://testmaps.camavision.____com/arc.png
> <http://testmaps.camavision.__com/arc.png
> <http://testmaps.camavision.com/arc.png>>
>
> Here is qgis viewing PostGIS:
> http://testmaps.camavision.____com/qgis.png
> <http://testmaps.camavision.__com/qgis.png
> <http://testmaps.camavision.com/qgis.png>>
>
>
> I tried to get arcCatalog to export to shapefile, but
> something went
> bad and I cannot even look at the .shp files.
>
> Any hints how I can get the curve back?
>
> Thanks for your time,
>
> -Andy
More information about the postgis-users
mailing list