2010年3月8日月曜日

GeoServer を使った OpenLayers の examples 5 - WFS データの GeoServer と MapServer の比較

wget コマンドで確認した WFS の GetCapabilities のデータを比較してみます。

GeoServer
データは見やすいように整形しています。

user@debian:~$ wget -O geoserver_wfs_gc.xml "http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=GetCapabilities"


<?xml version="1.0" encoding="UTF-8"?>
<wfs:WFS_Capabilities version="1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.opengis.net/wfs"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ows="http://www.opengis.net/ows"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:schemaLocation="http://www.opengis.net/wfs http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd"
xmlns:cite="http://www.opengeospatial.net/cite"
xmlns:it.geosolutions="http://www.geo-solutions.it"
xmlns:tiger="http://www.census.gov"
xmlns:sde="http://geoserver.sf.net"
xmlns:topp="http://www.openplans.org/topp"
xmlns:sf="http://www.openplans.org/spearfish"
xmlns:nurc="http://www.nurc.nato.int"
updateSequence="57">
<ows:ServiceIdentification>
<ows:Title>GeoServer Web Feature Service</ows:Title>
<ows:Abstract>
This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction.
</ows:Abstract>
<ows:Keywords>
<ows:Keyword>WFS</ows:Keyword>
<ows:Keyword>WMS</ows:Keyword>
<ows:Keyword>GEOSERVER</ows:Keyword>
</ows:Keywords>
<ows:ServiceType>WFS</ows:ServiceType>
<ows:ServiceTypeVersion>1.1.0</ows:ServiceTypeVersion>
---
<FeatureTypeList>
<Operations>
<Operation>Query</Operation>
<Operation>Insert</Operation>
<Operation>Update</Operation>
<Operation>Delete</Operation>
<Operation>Lock</Operation>
</Operations>
<FeatureType xmlns:sde="http://geoserver.sf.net">
<Name>sde:gyoseikai</Name>
<Title>Gyoseikai</Title>
<Abstract>Land Numerical Info. Tokyo Gyoseikai</Abstract>
<ows:Keywords>
<ows:Keyword>gyoseikai</ows:Keyword>
<ows:Keyword>tokyo</ows:Keyword>
</ows:Keywords>
<DefaultSRS>urn:x-ogc:def:crs:EPSG:4326</DefaultSRS>
<ows:WGS84BoundingBox>
<ows:LowerCorner>136.069 20.425</ows:LowerCorner>
<ows:UpperCorner>153.987 35.898</ows:UpperCorner>
</ows:WGS84BoundingBox>
</FeatureType>
---

MapServer

user@debian:~$ wget -O mapserver_wfs_gc.xml "http://localhost/cgi-bin/mapserv?map=/home/user/mapfile/tokyo_pf_pgis.map&service=WFS&request=GetCapabilities&version=1.0.0"


<?xml version='1.0' encoding="ISO-8859-1" ?>
<WFS_Capabilities
version="1.0.0"
updateSequence="0"
xmlns="http://www.opengis.net/wfs"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-capabilities.xsd">
---
<Service>
<Name>MapServer WFS</Name>
<!-- WARNING: Mandatory metadata '..._title' was missing in this context. -->
<Title>tokyo_pf_pgis_map</Title>
<OnlineResource>http://192.168.1.6/cgi-bin/mapserv?map=/home/user/mapfile/tokyo_pf_pgis.map&</OnlineResource>
</Service>
---
<FeatureTypeList>
<Operations>
<Query/>
</Operations>
<FeatureType>
<Name>gyoseikai</Name>
<Title>Gyoseikai Tokyo mlit Map WMS Layer</Title>
<SRS>EPSG:4326</SRS>
<LatLongBoundingBox minx="-2.5e+07" miny="-2.5e+07" maxx="2.5e+07" maxy="2.5e+07" />
</FeatureType>
---

どちらもレイヤの Name、Title、SRS、BoundingBox のデータがあります。
gyoseikai レイヤの WFS データソースを取得します。
データを1つだけにしています。
Geoserver

http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=GetFeature&typeName=sde:gyoseikai&maxFeatures=1


<wfs:FeatureCollection
numberOfFeatures="1"
timeStamp="2010-02-13T14:45:32.554+09:00"
xsi:schemaLocation="http://geoserver.sf.net
http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=sde%3Agyoseikai
http://www.opengis.net/wfs
http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:tiger="http://www.census.gov"
xmlns:sde="http://geoserver.sf.net"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:topp="http://www.openplans.org/topp"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sf="http://www.openplans.org/spearfish"
xmlns:ows="http://www.opengis.net/ows"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999 xlink">
<gml:featureMembers>
<sde:gyoseikai gml:id="gyoseikai.1">
<sde:prn>東京都</sde:prn>
<sde:con>西多摩郡</sde:con>
<sde:cn2>奥多摩町</sde:cn2>
<sde:aac>13308</sde:aac>
<sde:the_geom>
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>35.850868 139.163527 ...
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</sde:the_geom>
</sde:gyoseikai>
</gml:featureMembers>
</wfs:FeatureCollection>

MapServer

http://localhost/cgi-bin/mapserv?map=/home/user/mapfile/tokyo_pf_pgis.map&service=wfs&version=1.0.0&request=GetFeature&typeName=gyoseikai&maxFeatures=1


<?xml version='1.0' encoding="ISO-8859-1" ?>
<wfs:FeatureCollection
xmlns:ms="http://mapserver.gis.umn.edu/mapserver"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd
http://mapserver.gis.umn.edu/mapserver http://192.168.1.6/cgi-bin/mapserv?map=/home/user/mapfile/tokyo_pf_pgis.map&SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=gyoseikai&OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:Box srsName="EPSG4326">
<gml:coordinates>138.942865,35.501252 139.918904,35.898424</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<!-- WARNING: FeatureId item 'ID' not found in typename 'gyoseikai'. -->
<gml:featureMember>
<ms:gyoseikai>
<gml:boundedBy>
<gml:Box srsName="EPSG4326">
<gml:coordinates>138.942865,35.738576 139.178427,35.898424</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:Polygon srsName="EPSG4326">
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>139.163527,35.850868 ...
</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ms:msGeometry>
<ms:gid>1</ms:gid>
<ms:prn>東京都</ms:prn>
<ms:sun></ms:sun>
<ms:con>西多摩郡</ms:con>
<ms:cn2>奥多摩町</ms:cn2>
<ms:aac>13308</ms:aac>
</ms:gyoseikai>
</gml:featureMember>
</wfs:FeatureCollection>

2つのデータには、名前空間に違いがあります。
行政区画名などの属性の名前空間は、GeoServer では Workspace 名に、MapServer では mapserver になっています。
また、GML の要素名にも違いがあります。

0 件のコメント: