Skip to content

How to change WFS projection request? #903

@jesolis1

Description

@jesolis1

Hi,
I would find it very helpful to know how to change the projection when making a Web Feature Service (WFS) request specifically in the WFS request body. Currently, my body request generates something like this:

<GetFeature xmlns="http://www.opengis.net/wfs" service="WFS" version="1.1.0" outputFormat="text/xml; subtype=gml/2.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
    <Query typeName="POLYGON_MAP_CITY" srsName="EPSG:4326">
        <Filter xmlns="http://www.opengis.net/ogc">
            <Intersects>
                <PropertyName>geom</PropertyName>
                <Point xmlns="http://www.opengis.net/gml">
                    <pos srsDimension="2">-121.448434 36.505518</pos>
                </Point>
            </Intersects>
        </Filter>
    </Query>
</GetFeature>

Here, the tag has the default property srsName="EPSG:4326", and the coordinates are in that projection. However, my data source only works with srsName="EPSG:32614". I’d prefer not to manipulate the request manually to reproject the data.

Since the WMS layer I’m querying already has "EPSG:32614" defined and works correctly (e.g., the GeoMoose 3.13.1 generates valid WMS requests but the "Identify" tool generates invalid requests to data source), why does the WFS service default to a different projection than the data source (MapServer)? And how can I change the default projection in the WFS service to match?

E.g. since Mapbook:

    <map-source name="wfs_city" type="mapserver-wfs">
        <config name="pixel-tolerance" value="0"/>
        <param name="typename" value="POLYGON_MAP_CITY"/>
        <param name="service" value="WFS"/>
        <file>city_indicators.map</file>      
        <layer name="POLYGON_MAP_CITY" selectable="true">
            <param name="SCALE" value="1"/>
            <template name="identify" auto="true" />
        </layer>
    </map-source>
    <map-source name="CityIndicators" type="mapserver" up="true" down="true" title="City Indicators">
        <file>city_indicators.map</file>
        <layer name="POLYGON_MAP_CITY" query-as="wfs_city/POLYGON_MAP_CITY" status="on"/>
        <param name="SCALE" value="1"/>
    </map-source>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions