Mapserver PostGIS Custom SRID Problem
Paul Moen
pmoen at OFFROADSOFTWARE.COM
Tue Jan 29 15:53:00 PST 2008
This is my layer.
LAYER
NAME "Montana"
PROJECTION
"init=epsg:1038007"
END
CONNECTION "user=postgres dbname=1038007 host=127.0.0.1
port=5432"
CONNECTIONTYPE postgis
DATA "the_geom from mt_counties using unique gid using
SRID=1038007"
TYPE POLYGON
STATUS ON
CLASS
NAME "MT counties"
STYLE
COLOR 245 245 245
OUTLINECOLOR 200 200 200
END
END
END
I am using the user postgres for the sql statement .
This is the actual command that I used from the command line.
psql -d 1038007 -U postgres -c "SELECT
asbinary(force_collection(force_2d(the_geom)),'NDR'),gid::text from
mt_counties WHERE the_geom && setSRID('BOX3D(1792876.6493994
343910,2160707.3506006 612229)'::BOX3D, 1038007 )"
These are all performed on the same server that PostgreSQL is running.
I do have the database named 1038007. Is there a problem with
database names being all numerals within PostgreSQL? Everything seems
to work fine except when mapserver is making the call.
On Jan 29, 2008, at 5:33 PM, Paul Ramsey wrote:
> There's something wrong, because the same SQL should return the same
> result... there should not be a non-deterministic difference
> depending on from where you enter it. Are you sure you're entering
> it in the same database, using the same user, as mapserver is?
>
> P
>
> Paul Moen wrote:
>> 1 row equal to 1038007
>> On Jan 29, 2008, at 3:46 PM, Paul Ramsey wrote:
>>> what does
>>>
>>> SELECT DISTINCT SRID(the_geom) from mt_counties;
>>>
>>> return?
>>>
>>> what does
>>>
>>> SELECT * FROM geometry_columns WHERE f_table_name = 'mt_counties';
>>>
>>> return?
>>>
>>> Paul Moen wrote:
>>>> I get the following error when trying to draw a layer that exists
>>>> in postgis.
>>>> [MapServer Error]: msPOSTGISLayerWhichShapes(): Error executing
>>>> POSTGIS SQL statement (in FETCH ALL): DECLARE mycursor BINARY
>>>> CURSOR FOR SELECT
>>>> asbinary(force_collection(force_2d(the_geom)),'NDR'),gid::text
>>>> from mt_counties WHERE the_geom && setSRID('BOX3D(1792876.6493994
>>>> 343910,2160707.3506006 612229)'::BOX3D, 1038007 )
>>>> -ERROR: Operation on two geometries with different SRIDs
>>>> If I issue the following sql command in postgis two rows are
>>>> returned rather than the error.
>>>> SELECT
>>>> asbinary(force_collection(force_2d(the_geom)),'NDR'),gid::text
>>>> from mt_counties WHERE the_geom && setSRID('BOX3D(1792876.6493994
>>>> 343910,2160707.3506006 612229)'::BOX3D, 1038007 )
>>>> The custom SRID has been added to the spatial_ref_sys table in
>>>> postgis and the epsg file in the proj resources. These layers
>>>> display exactly the way I want when viewing with Qgis connected
>>>> as postGIS layers.
>>>> Does anyone have any ideas on what I can do to further
>>>> troubleshoot this? Is this a problem with mapserver, postgis, or
>>>> something I am doing? Version info.
>>>> Mac OS 10.4.11
>>>> "POSTGIS="1.2.1" GEOS="3.0.0rc4-CAPI-1.3.3" PROJ="Rel. 4.5.0, 22
>>>> Oct 2006" USE_STATS"
>>>> MapServer Version MapServer version 4.10.1 OUTPUT=GIF
>>>> OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=PDF OUTPUT=SWF
>>>> OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER
>>>> SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT
>>>> SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=GEOS INPUT=EPPL7
>>>> INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
>>>> PHP MapScript Version ($Revision: 1.260.2.1 $ $Date:
>>>> 2006/11/22 19:34:45 $)
>>>> Thanks,
>>>> Paul
>>>
>>>
>>> --
>>>
>>> Paul Ramsey
>>> Refractions Research
>>> http://www.refractions.net
>>> pramsey at refractions.net
>>> Phone: 250-383-3022
>>> Cell: 250-885-0632
>
>
> --
>
> Paul Ramsey
> Refractions Research
> http://www.refractions.net
> pramsey at refractions.net
> Phone: 250-383-3022
> Cell: 250-885-0632
More information about the MapServer-users
mailing list