[ms4w-users] wms.jpl.nasa.gov renders on LINUX but not in the MS4W install

Jeff McKenna jmckenna at dmsolutions.ca
Fri Mar 2 13:39:47 EST 2007


That's a tricky one.

The error you are getting is:

<ServiceExceptionReport version="1.1.0">
   <ServiceException>
     Required key 'styles' is missing
   </ServiceException>
</ServiceExceptionReport>

1) Checking your Blue_Marble layer, you have the wrong spelling of the 
style metadata:

  "wms_styles"

  should be: "wms_style"

2) From that server's getcapabilities 
(wms.jpl.nasa.gov/wms.cgi?request=GetCapabilities) you can see the 
possible values for the style parameter.  So one layer's WMS metadata 
could be:
    METADATA
      "wms_name" "modis"
      "wms_server_version" "1.1.1"
      "wms_srs" "EPSG:4326"
      "wms_format" "image/jpeg"
      "wms_style" "default"
    END

or

    METADATA
      "wms_name" "global_mosaic"
      "wms_server_version" "1.1.1"
      "wms_srs" "EPSG:4326"
      "wms_format" "image/jpeg"
      "wms_style" "visual"
    END


As for why it works in Linux and not windows, i have no idea.

WMS client/styles/getcapabilities is not the easiest thing to jump into, 
beginner or not.

jeff




Andrew Parker wrote:
> I am trying to add the modis and global_mosaic layers from http://wms.jpl.nasa.gov to the map in my MS4W install (on Windows XP and Windows Server2003).  WMS layers render from terraservice.net with no problems.  The code in the mapfile works with the LINUX test box.  
> 
> Does anyone have a reason or solution?  Be easy on me as I am new to Mapserver.  Below is my mapfile code.
> 
> Thanks in advances for any help.
> 
> Andrew.
> 
> 
> #
> # Start of map file
> #
> # Sample map file for a chameleon app.
> #
> NAME DEMO
> STATUS ON
> SIZE 400 300
> SYMBOLSET ../etc/symbols.sym
> EXTENT -109.1 31.26 -102.89 37.09
> UNITS DD
> PROJECTION
>   "init=epsg:4326"
> END
> SHAPEPATH "../data"
> IMAGECOLOR 25 25 112
> FONTSET ../etc/fonts.txt
> TRANSPARENT FALSE
> # IMAGETYPE - set to PNG24 in /congif/chameleon.xml
> 
> #
> # Start of web interface definition
> #
> WEB
>   #MINSCALE 2000000
>   #MAXSCALE 50000000
> #
> # On Windows systems, /tmp and /tmp/ms_tmp/ should be created at the root 
> # of the drive where the .MAP file resides.
> #
>   IMAGEPATH "/ms4w/tmp/ms_tmp/" 
>   IMAGEURL "/ms_tmp/"
> #  LOG "/tmp/gmap.log"
>   METADATA
>   END
> END
> 
> #
> # Start of reference map
> #
> REFERENCE
>    IMAGE images/ref_msone.jpg
>    EXTENT -126.12 23.27 -66.14 50.15
>    STATUS ON
>   COLOR -1 -1 -1
>   OUTLINECOLOR 255 0 0
>   SIZE 120 90      
> END
> 
> #
> # Start of legend
> #
> LEGEND
>   KEYSIZE 18 12
>   LABEL
>     TYPE BITMAP
>     SIZE MEDIUM
>     COLOR 0 0 89
>   END
>   STATUS ON
> END
> 
> #
> # Start of scalebar
> #
> SCALEBAR
>   IMAGECOLOR 255 255 255
>   LABEL
>     COLOR 0 0 0 
>     SIZE SMALL
>   END
>   SIZE 150 5
>   COLOR 255 255 255
>   BACKGROUNDCOLOR 0 0 0
>   OUTLINECOLOR 0 0 0
>   UNITS Miles
>   INTERVALS 5
>   STATUS ON
> END
> 
> 
> QUERYMAP
>   STYLE HILITE
>   COLOR 255 0 0
> END
> 
> ##################################### 
> # Symbol for drawing fat lines
> #
> SYMBOL
>      NAME "BigLine"
>      TYPE ELLIPSE
>      POINTS 1 1 END
> END
> 
> ##################################### 
> # Symbol for drawing dashed lines
> #
> SYMBOL
>      NAME "DashedLine"
>      TYPE ELLIPSE
>      POINTS 1 1 END
>      STYLE 10 10 END   
> END
> 
> ##################################### 
> # Symbol for drawing spots
> #
> SYMBOL
>      NAME "Circle"
>      FILLED true
>      TYPE ellipse
>      POINTS 1 1 END
> END
> 
> 
> ###########################
> # Country layer
> #
> LAYER
>     NAME "Countries"
>     STATUS on
>     TYPE polygon
>     DATA "countries"
>     UNITS dd
>     PROJECTION
>       "init=epsg:4326"
>     END
> 
>    CLASS    
>         # A template defined at the class level is used to 
>         # display the results for each reponse to a query. If a 
>         # query results in N hits, then the template will be used
>         # N times. To be queriable a layer must specify a CLASS 
>         # level template.
>         #
>         TEMPLATE "/ms4w/apps/msone/htdocs/msone_countries_query.html"
>         NAME "USA"
>         EXPRESSION ('[COUNTRY]' eq 'US')
>         STYLE
>            COLOR 238 232 170
>         END
>     END # end class    
> 
>     CLASS    
>         # A template defined at the class level is used to 
>         # display the results for each reponse to a query. If a 
>         # query results in N hits, then the template will be used
>         # N times. To be queriable a layer must specify a CLASS 
>         # level template.
>         #
>         TEMPLATE "/ms4w/apps/msone/htdocs/msone_countries_query.html"
>         NAME "OTHER"
>         EXPRESSION ('[COUNTRY]' ne 'US')
>         STYLE
>            COLOR 205 190 112
>         END
>     END # end class    
> 
> END # end layer        
> 
> ####################################
> # Line layer for Country boundaries
> #
> LAYER
>     UNITS dd
>     PROJECTION
>       "init=epsg:4326"
>     END
>     NAME "Boundaries" 
>     STATUS on
>     TYPE line
>     DATA "countries"
>     CLASS
>         STYLE
>             COLOR 0 0 0 
>         END
>     END # end class
> END # end layer
> 
> ################################
> #  USGS_topo
> #
> 
> LAYER
>   NAME "Terraserver_DRG"
>   STATUS off
>   TYPE RASTER
>   CONNECTIONTYPE WMS
>   CONNECTION "http://terraservice.net/OgcMap.ashx?"
>   METADATA
>     "wms_srs"    "EPSG:4326"
>     "wms_title"    "Digital Raster Graphic"
>     "wms_name"    "DRG"
>     "wms_server_version"    "1.1.1"
>     "wms_format"    "image/jpeg"
>     "wms_layers"    "drg"
>     "wms_group_title" "background"
>   END
>   PROJECTION
>     "init=epsg:4326"
>   END
> END
> 
> # ********************  Orthophoto ********************
> LAYER
>   NAME "TerraServer_Orthophoto"
>   STATUS off
>   TYPE RASTER
>   CONNECTIONTYPE WMS
>   CONNECTION "http://terraservice.net/OgcMap.ashx?"
>   METADATA
>     "wms_srs"    "EPSG:4326"
>     "wms_title"    "Orthophoto"
>     "wms_name"    "DOQ"
>     "wms_server_version"    "1.1.1"
>     "wms_format"    "image/jpeg"
>     "wms_layers"    "drg"
>     "wms_group_title" "background"
>   END
>   PROJECTION
>     "init=epsg:4326"
>   END
> END
> 
> # ******************** Nexrad Radar ********************
> LAYER
>   NAME Nexrad_RADAR
>   STATUS OFF
>   GROUP "Background"
>   TYPE RASTER
>   CONNECTIONTYPE WMS
>   CONNECTION "http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi?"
>   PROJECTION
>     "init=epsg:4326"
>   END
>   METADATA
>     "wms_name" "nexrad-n0r-m45m"
>     "wms_server_version" "1.1.1"
>     "wms_srs" "EPSG:4326"
>     "wms_format" "image/jpeg"
>     "wms_style" ""
>     "wms_title" "NEXRAD"
>   END
> END
> 
> # ******************** MODIS derived blue marble image ********************
> LAYER
>    NAME Blue_Marble
>    STATUS on
>    PROJECTION
>      "init=epsg:4326"
>    END
>    TYPE RASTER
>    OFFSITE 0 0 0
>    CONNECTIONTYPE WMS
>    CONNECTION "http://wms.jpl.nasa.gov/wms.cgi?"
>    METADATA
>      "wms_name" "modis,global_mosaic"
>      "wms_server_version" "1.1.1"
>      "wms_srs" "EPSG:4326"
>      "wms_format" "image/jpeg"
>      "wms_styles" ""
>      "wms_title" "BlueMarble"
>    END
> END
> 
> ##################################### 
> # State boundaries layer - polygon (for shading)
> #
> LAYER
>      NAME "states_poly"
>      DATA "statesp020"
>      UNITS dd
>      PROJECTION
>       "init=epsg:4326"
>      END
>      STATUS off
>      TYPE polygon
>      LABELCACHE on
>      LABELITEM "STATE"
>      CLASS
>           STYLE
>                # COLOR 238 232 170
>           END
>      END
> END
> 
> 
> ##################################### 
> # State boundaries layer - line (for fat boundary)
> #
> LAYER
>      NAME "states"
>      DATA "statesp020"
>      UNITS dd
>      PROJECTION
>       "init=epsg:4326"
>      END
>      STATUS off
>      TYPE line
>      LABELCACHE on
>      LABELITEM "STATE"
>      CLASS
>           NAME "State Line"
>           STYLE
>                SYMBOL "BigLine"
>                SIZE 2
>                COLOR 0 0 0
>           END
>      END
> END
> 
> ##################################### 
> # Road layer - interstates only at large scale
> #
> LAYER
>      NAME "interstate1"
>      GROUP "roads"
>      DATA "roadtrl020"
>      STATUS off
>      TYPE line
>      UNITS dd
>      PROJECTION
>       "init=epsg:4326"
>      END
>      LABELCACHE on
>      LABELITEM "NAME"
>      CLASSITEM "FEATURE"
>      MINSCALE 7500001
>      CLASS
>           NAME "Interstate Hwy"
>           EXPRESSION /Limited Access*/
>           STYLE
>                SYMBOL "BigLine"
>                SIZE 1
>                COLOR 0 0 0
>           END
>           LABEL
>                TYPE truetype
>                FONT "arial"
>                SIZE 8
>                OUTLINECOLOR 255 255 255
>                COLOR 0 0 0
>                MINDISTANCE 200
>                POSITION auto
>                ANGLE auto
>                MINFEATURESIZE 50
>           END
>      END
> END
> 
> 
> ###############################
> # ROC Sites
> #
> LAYER
>     NAME "ROCsites"                     
>     STATUS off
>     UNITS dd
>     PROJECTION
>       "init=epsg:4326"
>     END
>     TYPE point
>     DATA "ROCsites"
>     MAXSCALE 1200000
>     LABELITEM "SITE_NAME"
>     CLASS
>         NAME "ROC Sites"
>           STYLE
>                SYMBOL "Circle"
>                SIZE 9
>                COLOR 255 127 0 #coral
>           END 
>          LABEL            
>             TYPE truetype   # use truetype font
>             FONT "arialbd"  # use arial bold
>             SIZE 7          # use 8 point size
>             COLOR 255 127 0   # color text coral
>             BACKGROUNDCOLOR 255 255 255 # render text on white bg
>             MINDISTANCE 50  # labels > 50 pixels apart
>             POSITION auto     # center labels below feature
>             ANTIALIAS true  # antialias the text
>         END # end label              
>     END # end class
> 
> END # end layer
> 
> ###############################
> # ROC Monitoring Wells
> #
> LAYER
>     NAME "ROCmw"                     
>     STATUS off
>     UNITS dd
>     TYPE point
>     DATA "ROCmw"
>     LABELITEM "Well_Name"        # labels use value in column "NAME"
>     LABELCACHE on
>     LABELMAXSCALE 1200000
>     MAXSCALE 1200000
> 
>     CLASS
>         NAME "ROC MWs"
>           STYLE
>                SYMBOL "Circle"
>                SIZE 9
>                COLOR 0 0 205 #Medium Blue
>           END
> 
>         LABEL            
>             TYPE truetype   # use truetype font
>             FONT "arialbd"  # use arial bold
>             SIZE 7          # use 8 point size
>             COLOR 0 0 205   # color text coral
>             BACKGROUNDCOLOR 255 255 255 # render text on white bg
>             MINDISTANCE 50  # labels > 50 pixels apart
>             POSITION auto     # center labels below feature
>             ANTIALIAS true  # antialias the text
>         END # end label        
>     END # end class
> END # end layer
> 
> END # Map File
> 
> 
> 



-- 
Jeff McKenna
Geomatics Manager
DM Solutions Group Inc.
http://www.dmsolutions.ca


More information about the ms4w-users mailing list