[postgis-users] How do you obtaining a WGS-84 (4326) coordinate from a coordinate that has no SRID

Eric B. Powell ebpowell.chip at gmail.com
Wed Aug 19 19:27:53 PDT 2009


Rick wrote:
>
>
> On Wed, Aug 19, 2009 at 5:53 PM, Eric B. Powell 
> <ebpowell.chip at gmail.com <mailto:ebpowell.chip at gmail.com>> wrote:
>
>     ILAN BENISTY wrote:
>
>         Hi,
>
>         I am dealing with a problem where I am importing an AutoCAD
>         description of an airport (DXF) into PostGIS.
>         I have a Python script which will import each coordinate to a
>         PostGIS geometry with SRID = -1 (since I do not have real
>         world coordinates, but Cartesian coordinates from a point of
>         origin).
>         I do, however, have a lat/long reference point, which
>         represents the origin of my x/y CAD coordinates.
>         I would like to be able to store my CAD coordinates points as
>         Long/Lat (SRID=4326).
>         Any suggestions?
>
>         Thanks,
>
>         Ilan
>         ------------------------------------------------------------------------
>
>
>
>         _______________________________________________
>         postgis-users mailing list
>         postgis-users at postgis.refractions.net
>         <mailto:postgis-users at postgis.refractions.net>
>         http://postgis.refractions.net/mailman/listinfo/postgis-users
>          
>
>
> I'll answer for Ilan, we work together
>
>
>     What country is the site in? What units are used for the drawings
>     grid? Do you know the geographic datum?
>
>  
> Country: Canada, Units: meters, Datum: WGS84
>
> I expect the solution is straightforward, but it is not obvious to us.
>
>
>     It may require a fair amount of pre-processign before the data can
>     be accurately (de)projected to LatLong.
>
>     Once the details of the drawing grid are known, there is a python
>     wrapper for Proj4 which could be used to (de)project the points on
>     the way into the database.
>
>
> We are very experienced programmers, but have a limited knowledge of 
> SQL.  We've been working with it for a few years, but at this point 
> have been able to get by quite nicely with the basics.
>
> We have a fair knowledge of Geodesy.  It was my major, 20 years ago.
>
> --
> I'll give you the use case:
>
> Currently we have a geometric database using PostgreSQL geometry types 
> to represent aerodromes.  The origin of the grid is the centroid of 
> the aerodrome, and that we have a Geodetic position for.  We use it, 
> amoung other things, to plot radar targets.  The radar data arrives on 
> the same grid, so up to this point our data registers, we display the 
> live radar data as SVG in any browser that is not IE with one second 
> updates.  This works well.
>
> However, for many reasons, we have to go to a geodetic system.  We'll 
> still use the same metric grid with an origin at the centroid for 
> radar data, but to integrate with other systems we must maintain a 
> geodetic database.
>
> The aerodrome data arrives as DXF.  We have written an import filter 
> in Python that parses in the DXF and converts it to Postgresql 
> geometry.  It also maps the layer names to a standard.  Ilan, the 
> author of this thread, is tasked with converting this to PostGIS so 
> that we may merge with other systems that maintain geometry in WGS84.
>
> The general coverage of the data is three or four kilometers.  Surface 
> radar data arrives at a resolution of one meter, so if our accuracy is 
> within 10cm we are more than good.  We assume a reasonably accurate 
> centroid position and a Cartesian plane that does not extend more than 
> 3 kilometers in any direction from the origin, so curvature error is 
> not an issue.
>
> --
> The problem:
>
> We have a metric cartesian data set.
>
> We have a geodetic coordinate for the centroid of the aerodrome, which 
> is the origin of our metric Cartesian data.
>
> We need to convert this to geodetic to exchange data with other 
> components of the air navigation system.
>
> --
> It seems to me that the solution might be to have PostGIS give us a 
> coordinate for the centroid, transform the DXF coordinates during the 
> parse operation, and then import it into PostGIS.
>
> We don't know how to properly do that, and it's quite possible that 
> that is not the ideal solution.
>
> As I said, we are new to PostGIS, but we are keen to play.
>
>  
>
>
>
>     Eric
>
>     _______________________________________________
>     postgis-users mailing list
>     postgis-users at postgis.refractions.net
>     <mailto:postgis-users at postgis.refractions.net>
>     http://postgis.refractions.net/mailman/listinfo/postgis-users
>
>
>
>
> -- 
> Cheers!
> Rick
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>   
I was thinking that, if you know the actual location of your points in a 
projected coordinate system, (de)projecting them to LatLong on the way 
into PostGIS could be done using the pyProj library which wraps Proj4 in 
a python wrapper. As such, as the points are read in, re-project them 
and write them in using st_geometryfromtext().

I have an example of this approach I can send if you like.

Regards,

Eric



More information about the postgis-users mailing list