[mapserver-users] KML in mapserver
Eichner, Andreas - SID
Andreas.Eichner at sid.sachsen.de
Tue Mar 10 00:22:30 PDT 2015
I would suggest using the "Style" attribute to classify your features.
From ogrinfo:
$ ogrinfo -al test.kml -where "OGR_GEOMETRY='LINESTRING'"
...
OGRFeature(Fibertech solution):1
Name (String) = Westborough MSC - Build
...
Style = @msn_ylw-pushpin4
OGRFeature(Fibertech solution):2
Name (String) = Westborough MSC to Westborugh
...
Style = @msn_ylw-pushpin8
So using CLASSITEM "Style" to classify your features might work:
LAYER
...
CLASSITEM "Style"
CLASS
EXPRESSION "@msn_ylw-pushpin8"
...
END
CLASS
EXPRESSION "@msn_ylw-pushpin4"
...
END
END
> -----Ursprüngliche Nachricht-----
> Von: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-
> bounces at lists.osgeo.org] Im Auftrag von alok mathur
> Gesendet: Dienstag, 10. März 2015 05:38
> An: mapserver-users at lists.osgeo.org
> Betreff: [mapserver-users] KML in mapserver
>
> Hi,
>
> I have a single folder with multiple Placemarks of different geometries in
> an input KML file.
> And I want to create a .map file using KML as input source. As mapserver
> ignores KML styling so i need to give styling in mapserver for each layer.
> I want to give styling at each placemark. Could you please help me out how
> to do the same.
>
> KML
> ---------------------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <kml xmlns="http://www.opengis.net/kml/2.2"
> xmlns:gx="http://www.google.com/kml/ext/2.2"
> xmlns:kml="http://www.opengis.net/kml/2.2"
> xmlns:atom="http://www.w3.org/2005/Atom">
> <Document>
> <Folder>
> <name>Fibertech solution</name>
>
> <Placemark>
> <name>Westborough MSC - Build</name>
> <styleUrl>#msn_ylw-pushpin4</styleUrl>
> <LineString>
> <tessellate>1</tessellate>
> <coordinates>
> -71.58570500983306,42.28745742866225,0 -
> 71.58563778135751,42.28308954118536,0 -
> 71.58466087108053,42.28307704913402,0
> </coordinates>
> </LineString>
> </Placemark>
> <Placemark>
> <name>Westborough MSC to Westborugh</name>
> <styleUrl>#msn_ylw-pushpin8</styleUrl>
> <LineString>
> <tessellate>1</tessellate>
> <coordinates>
> -71.62172195712955,42.27186897741407,0 -
> 71.62194000095552,42.27189433043378,0 -
> 71.6225634332947,42.27210480296427,0 -
> 71.62308968672842,42.27236391420707,0 -
> 71.62394597288645,42.27309147863262,0 -
> 71.62737594489003,42.27740640295431,0 -
> 71.62822373584245,42.27893783334968,0 -
> 71.63091971519079,42.28164762788888,0 -
> 71.63207040059587,42.28370221254578,0 -
> 71.62599732629406,42.28418518334991,0 -
> 71.60795611539982,42.28517668969011,0 -
> 71.60267209851122,42.28504601944216,0 -
> 71.60188701357249,42.28516492137062,0 -
> 71.58850360403626,42.28849573666959,0 -
> 71.5858004650346,42.28852197680775,0 -71.58571706491037,42.2874804233345,0
> </coordinates>
> </LineString>
> </Placemark>
> <Placemark>
> <name>NEW Danbury</name>
> <Camera>
> <longitude>-73.45375129836707</longitude>
> <latitude>41.390460041635</latitude>
> <altitude>419.0806930250601</altitude>
> <heading>13.43312150541231</heading>
> <tilt>28.58299225276625</tilt>
> <roll>-0.685026358787494</roll>
> <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
> </Camera>
> <styleUrl>#msn_ylw-stars</styleUrl>
> <Point>
> <gx:drawOrder>1</gx:drawOrder>
> <coordinates>-73.45404626023216,41.3929335947184,0</coordinates>
> </Point>
> </Placemark>
> <Placemark>
> <name>NEW Scotland Amp</name>
> <LookAt>
> <longitude>-72.09703050755105</longitude>
> <latitude>41.69579944328172</latitude>
> <altitude>0</altitude>
> <heading>-0.790587312931665</heading>
> <tilt>19.0106770482321</tilt>
> <range>445.0511788150669</range>
> <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
> </LookAt>
> <styleUrl>#msn_ylw-stars</styleUrl>
> <Point>
> <gx:drawOrder>1</gx:drawOrder>
> <coordinates>-72.09643061038489,41.6960553015771,0</coordinates>
> </Point>
> </Placemark>
> </Folder>
> </Document>
> </kml>
>
>
>
> MAP
> ------------------
> MAP
> NAME "QGIS-MAP"
> # Map image size
> SIZE 500 400
> UNITS meters
> EXTENT -73.454046 41.392934 -71.584661 42.288522
> #FONTSET './fonts/fonts.txt'
> SYMBOLSET 'symbols.txt'
> #PROJECTION
> # 'proj=longlat'
> # 'datum=WGS84'
> # 'no_defs'
> #END
> PROJECTION
> "init=epsg:4326"
> END
>
> # Background color for the map canvas -- change as desired
> IMAGECOLOR 255 255 255
> IMAGEQUALITY 95
> IMAGETYPE png
>
> OUTPUTFORMAT
> NAME "png"
> DRIVER GD/PNG
> MIMETYPE "image/png"
> IMAGEMODE RGBA
> EXTENSION "png"
> TRANSPARENT ON
> END
>
> # Legend
> LEGEND
> IMAGECOLOR 255 255 255
> STATUS ON
> KEYSIZE 18 12
> LABEL
> TYPE BITMAP
> SIZE MEDIUM
> COLOR 0 0 89
> END
> END
>
> # Web interface definition. Only the template parameter
> # is required to display a map. See MapServer documentation
> WEB
> # Set IMAGEPATH to the path where MapServer should
> # write its output.
> IMAGEPATH "/tmp/ms_tmp/"
>
> # Set IMAGEURL to the url that points to IMAGEPATH
> # as defined in your web server configuration
> IMAGEURL "/ms_tmp/"
>
> # WMS server settings
> METADATA
> "wms_enable_request" "*"
> "wms_srs" "EPSG:900913 EPSG:4326 EPSG:3857 EPSG:2154 EPSG:310642901
> EPSG:4171 EPSG:310024802 EPSG:310915814 EPSG:310486805 EPSG:310702807
> EPSG:310700806 EPSG:310547809 EPSG:310706808 EPSG:310642810 EPSG:310642801
> EPSG:310642812 EPSG:310032811 EPSG:310642813 EPSG:2986"
> "labelcache_map_edge_buffer" "-10"
> "wms_title" "osm fiber data"
> "wms_onlineresource" "http://haxv-onecontrol-154/cgi-bin/mapserv?"
> "ows_sld_enable" "true"
> END
>
>
> #Scale range at which web interface will operate
> # Template and header/footer settings
> # Only the template parameter is required to display a map. See
> MapServer documentation
> #TEMPLATE 'fooOnlyForWMSGetFeatureInfo'
> END
>
> # Start of LAYER DEFINITIONS -----------------------------
> LAYER
> NAME "kml_line"
> TYPE LINE
> STATUS ON
> CONNECTIONTYPE OGR
> CONNECTION "doc_test.kml"
> DATA "SELECT * FROM 'Fibertech solution' WHERE
> OGR_GEOMETRY='LINESTRING'"
> LABELITEM "NAME"
> CLASS
> NAME "Fiber Data"
> STYLE
> COLOR 250 0 0
> OUTLINECOLOR 255 255 255
> SIZE 6
> END
> LABEL
> SIZE GIANT
> COLOR 0 0 0
> OUTLINECOLOR 255 255 255
> POSITION AUTO
> END
> END
> END
> #############
> # Start of LAYER DEFINITIONS -----------------------------
> LAYER
> NAME "kml_point"
> TYPE POINT
> STATUS DEFAULT
> CONNECTIONTYPE OGR
> CONNECTION "doc_test.kml"
> DATA "SELECT * FROM 'Fibertech solution' WHERE OGR_GEOMETRY='POINT'"
> LABELITEM "NAME"
> #FILTER ('[OGR_GEOMETRY]' == 'POINT')
> #PROCESSING_OPTION "NATIVE_FILTER=OGR_GEOMETRY='POINT'"
> CLASS
> NAME "Splice Point"
> STYLE
> COLOR 250 0 0
> OUTLINECOLOR 255 255 255
> SYMBOL 'marker2'
> SIZE 16
> END
> LABEL
> SIZE GIANT
> COLOR 0 0 0
> OUTLINECOLOR 255 255 255
> POSITION AUTO
> END
> END
> END
> #############
>
> END
>
> --
>
>
> Alok Mathur
More information about the MapServer-users
mailing list