[postgis-users] srid / area

David Bitner osgis.lists at gmail.com
Tue May 16 11:05:46 PDT 2006


If you are doing transform(geom,4148) and your data is _in_ SRID 4148,
you are doing absolutely nothing -- you are trying to transform the
data from SRID 4148 to SRID 4148.

You need to use UpdateGeometrySRID to make sure your geometry column
has the correct SRID so that PostGIS knows what projection your data
is in.

Then if you want to calculate an area in meters from a dataset that is
in decimal degrees, you need to use transform along with an SRID from
a projection that has meters as its units.

On 5/16/06, Christo Du Preez <christo at mecola.com> wrote:
> Hi Nicolas,
>
> I tried your suggestion,
>
> select area(transform(the_geom, 4148))
>  from cdsmriverareaview
> WHERE the_geom && expand(geomfromtext('POINT(18.445184
> -33.718208)',4148),0.0002)
> AND distance(geomfromtext('POINT(18.445184 -33.718208)',4148),the_geom)
> < 0.0002
>
> Which still results to
>
> 3.41666299991106e-06
> 7.10635000011894e-08
> 6.35105000257319e-08 *
> 6.70955000170448e-08
> 7.29789999820429e-08
>
> I've also tried the other srid's for hartebeeshoek94 as below. My data
> is curently set to 4148
>
> 2046;"EPSG";2046;"PROJCS["Hartebeesthoek94 /
> Lo15",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2047;"EPSG";2047;"PROJCS["Hartebeesthoek94 /
> Lo17",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2048;"EPSG";2048;"PROJCS["Hartebeesthoek94 /
> Lo19",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2049;"EPSG";2049;"PROJCS["Hartebeesthoek94 /
> Lo21",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2050;"EPSG";2050;"PROJCS["Hartebeesthoek94 /
> Lo23",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2051;"EPSG";2051;"PROJCS["Hartebeesthoek94 /
> Lo25",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2052;"EPSG";2052;"PROJCS["Hartebeesthoek94 /
> Lo27",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2053;"EPSG";2053;"PROJCS["Hartebeesthoek94 /
> Lo29",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2054;"EPSG";2054;"PROJCS["Hartebeesthoek94 /
> Lo31",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 2055;"EPSG";2055;"PROJCS["Hartebeesthoek94 /
> Lo33",GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degr
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs "
> 4148;"EPSG";4148;"GEOGCS["Hartebeesthoek94",DATUM["Hartebeesthoek94",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6148"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY
> (..)";"+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs "
>
>
>
>
> Nicolas Ribot wrote:
> > Hi Christo,
> >
> > Setting the SRID to geometric column does not change the data in that
> > column, it just tells  the spatial reference system (SRS) of your
> > data. Your data are still in degree.
> >
> > You must use the tranform() function to reproject your data in order
> > to compute areas in square meters instead of square degrees.
> > Choose a target SRS that preserve areas.
> >
> > Something like:
> > select area(transform(the_geom, <target_srid>)) AS ar
> > from cdsmriverareaview
> > order by ar
> >
> > Nicolas
> >
> > On 5/16/06, Christo Du Preez <christo at mecola.com> wrote:
> >> Hi All,
> >>
> >> I've always got along quite fine importing my data and setting the srid
> >> to -1. Now that I need to use the area function I have run the
> >> select UpdateGeometrySRID('public', 'cdsmriverarea', 'the_geom', 4148);
> >>
> >> I'm very inexperienced when it comes to the spacial referencing systems.
> >>
> >> The data I'm using is Hartebeespoort94/wgs84 in decimal degrees. I used
> >> srid 4148 an others but I keep getting the same results, the units of
> >> measurement should be in meters, but the result is far from it.
> >>
> >> eg.
> >>
> >> select area(the_geom) AS ar
> >> from cdsmriverareaview
> >> order by ar
> >>
> >> 6.70955000170448e-08
> >>
> >> the expected result is roughly 670 sq meters.
> >> _______________________________________________
> >> postgis-users mailing list
> >> postgis-users at postgis.refractions.net
> >> http://postgis.refractions.net/mailman/listinfo/postgis-users
> >>
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> >
>
> --
> Kind Regards,
> Christo Du Preez
>
> Senior Software Engineer
> Mecola IT
> http://www.mecola.com
> +27 [0]83 326 8087
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



More information about the postgis-users mailing list