Flylib.com

Books Software

 
 
 

Data accessconnection method

 < Day Day Up > 

Inline MapServer Features

Inline features refer to coordinates entered directly into the map file. They aren't a file or database format and don't require any DATA or CONNECTION parameters. Instead they use a FEATURE section to define the coordinates.

Inline features can be used to define points, lines, and polygons as if taken from an external file; this requires direct entry of coordinate pairs in the map file using a particular syntax.

Data access/connection method

This is a native MapServer option that doesn't use any external libraries to support it.

Map file example

Each FEATURE..END section defines a feature.

Points

Multiple points can be defined in a FEATURE section. If multiple points are defined in the same layer, they have the same CLASS settings; for example, for colors and styles.

Coordinates are entered in the units set in the layer's projection. In this case, it assumes the map file projection is using decimal degrees.

LAYER

      NAME inline_stops

      TYPE POINT

      STATUS DEFAULT

      FEATURE

        POINTS

          72.36 33.82

        END

        TEXT "My House"

      END

      FEATURE

        POINTS

          69.43 35.15

          71.21 37.95

          72.02 38.60

        END

        TEXT "My Stores"

      END

      CLASS

        COLOR 0 0 250

        SYMBOL 'circle'

        SIZE 6

      END

    END

Lines

Lines are simply a list of points strung together, but the layer must be TYPE LINE instead of TYPE POINT .

LAYER

      NAME inline_track

      TYPE LINE

      STATUS DEFAULT

      MAXSCALE 10000000

      FEATURE

        POINTS

          72.36 33.82

          70.85 34.32

          69.43 35.15

          70.82 36.08

          70.90 37.05

          71.21 37.95

        END

      END

      CLASS

        COLOR 255 10 0

        SYMBOL 'circle'

        SIZE 2

      END

    END

Polygons

Polygons are the same as the line example, just a list of points.

They require the TYPE POLYGON parameter, and the final coordinate pair needs to be the same as the first, making it a closed polygon.

 < Day Day Up > 
 < Day Day Up > 

National Transfer Format Files (NTF)

NTF files are mostly used by the U.K. Ordnance Survey (OS). For more on the Ordnance Survey, see their web site at http://www.ordnancesurvey.co.uk.

File listing

NTF files have an NTF extension.

Data access/connection method

  • NTF access requires OGR.

  • The path to the NTF file is required in the CONNECTION string. It may be relative to the SHAPEPATH setting in the map file or the full path.

  • The CONNECTION must also include a layer number (as per the layer number from ogrinfo , but minus one).

ogrinfo examples

Here's an example that uses ogrinfo on an NTF file to retrieve layer numbers :

>

ogrinfo llcontours.ntf

ERROR 4: NTF Driver doesn't support update.

    Had to open data source read-only.

    INFO: Open of 'llcontours.ntf'

    using driver 'UK .NTF' successful.

    1: LANDLINE_POINT (Point)

    2: LANDLINE_LINE (Line String)

    3: LANDLINE_NAME (Point)

    4: FEATURE_CLASSES (None)

For the LANDLINE_LINE layer, the ogrinfo layer number is 2 ; however, when referring to this layer in a map file connection, the layer number is 1 .

Here's an example that uses ogrinfo to examine the structure of an NTF layer:

>

ogrinfo llcontours.ntf LANDLINE_LINE

ERROR 4: NTF Driver doesn't support update.

    Had to open data source read-only.

    INFO: Open of 'llcontours.ntf'

    using driver 'UK .NTF' successful.

     

    Layer name: LANDLINE_LINE

    Geometry: Line String

    Feature Count: 491

    Extent: (279000.000000, 187000.000000) - (280000.000000, 188000.000000)

    Layer SRS WKT:

    PROJCS["OSGB 1936 / British National Grid",

     

        GEOGCS["OSGB 1936",

            DATUM["OSGB_1936",

                SPHEROID["Airy 1830",6377563.396,299.3249646,

                    AUTHORITY["EPSG","7001"]],

                AUTHORITY["EPSG","6277"]],

            PRIMEM["Greenwich",0,

                AUTHORITY["EPSG","8901"]],

            UNIT["degree",0.0174532925199433],

            AUTHORITY["EPSG","4277"]],

        PROJECTION["Transverse_Mercator"],

        PARAMETER["latitude_of_origin",49],

        PARAMETER["central_meridian",-2],

        PARAMETER["scale_factor",0.999601272],

        PARAMETER["false_easting",400000],

        PARAMETER["false_northing",-100000],

        UNIT["metre",1,

            AUTHORITY["EPSG","9001"]],

        AUTHORITY["EPSG","27700"]]

    LINE_ID: Integer (6.0)

    FEAT_CODE: String (4.0)

    ...

Map file example

LAYER

      NAME ntf_uk

      TYPE LINE

      CONNECTIONTYPE OGR

      CONNECTION "./ntf/llcontours.ntf,1"

      STATUS DEFAULT

      CLASS

        NAME "Contours"

        COLOR 0 150 200

      END

    END

 < Day Day Up >