[GIS] Cannot display data from PostGIS

mapserverpostgiswms

I am trying to display some data that I have imported from shapefile into PostGIS database suing MapServer and OpenLayers. When I try to show the shapefile directly, it is successfully displayed in OpenLayers, but when I try to display the data that has been stored in PostGIS it can not be displayed in OpenLayers.

I have looked several times for a solution in the forums but the result is still an error. Below is the map file that I use.

  1. postgis.config for connection

    CONNECTIONTYPE POSTGIS
    CONNECTION "host=localhost dbname=postgisprime user=postgres port=5432 password=admin"
    PROCESSING "CLOSE_CONNECTION=DEFER"
    
  2. config.inc.map for projection

    CONFIG PROJ_LIB "/ms4w/proj/nad/"
    
  3. post.map for layer

    LAYER  
        NAME    Base
        TYPE    polygon
        STATUS  ON
        DUMP    TRUE
        INCLUDE "postgis.config"
        DATA    "geom FROM \"provinces\" USING UNIQUE gid using srid=1"
    
        METADATA
            ows_title "Base"
            gml_include_items "all"
            wfs_include_items "all"
            ows_featureid "gid"
            ows_enable_request   "*"
        END
    
        CLASS       
            COLOR 242 239 232
        END # class
     END # layer    
    END
    

4.postgisbase.map

    MAP  
        INCLUDE "config.inc.map"
        NAME "postgisbase"  #name to give your map service
        EXTENT 221238 881125 246486 910582
        UNITS meters
        CONFIG "MS_ERRORFILE" "D:/ms4w/tmp/ms_error.txt"

        PROJECTION 
           "init=epsg:4326"
        END   
        WEB
            MINSCALEDENOM 100
            MAXSCALEDENOM 100000
            METADATA
                ows_title "PostGIS "
                wms_version "1.1.1"
                wms_srs   "EPSG:2249 EPSG:4326 EPSG:26986 EPSG:3785 EPSG:900913"
                wfs_version "1.0.0"
                wfs_srs   "EPSG:4326"
            END
        END #End Web
        INCLUDE "post.map"
    END # Map File

and this the script for call the postgisbase.map in OpenLayers

var Ina = new OpenLayers.Layer.WMS( "Peta Dunia", "../../../cgi-bin/mapserv.exe?MAP=D:/ms4w/apps/AIS/postgisbase.map", {layers:'base'},{wrapDateLine: true},{sphericalMercator: true});

and the error when I try to load the page is:

[Wed Oct 26 13:52:32 2011].171000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:32 2011].312000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:32 2011].375000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:32 2011].718000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:32 2011].734000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:32 2011].750000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:32 2011].750000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].0 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].78000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].250000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].328000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].359000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].437000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].515000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].687000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].812000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].906000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].953000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].984000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:33 2011].984000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:34 2011].140000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)
[Wed Oct 26 13:52:34 2011].156000 loadLayer(): Unknown identifier. Parsing error near (provinces):(line 46)

Any suggest for this error ?

Best Answer

Remove those \" from this line:

DATA    "geom FROM \"provinces\" USING UNIQUE gid using srid=1"

So it should look like:

DATA    "geom FROM provinces USING UNIQUE gid using srid=1"

You don't need those brackets here since the table doesn't contain any capital letter in its name.

Related Question