OpenLayers WFSベクターレイヤー


8

ベクターレイヤーをWFSレイヤーに追加しようとしていますが、機能しません。誰かが解決策を指摘できますか?

OpenLayersコード:

var wfs = new OpenLayers.Layer.Vector(
                "Stavros Features",
                {
                    strategies: [new OpenLayers.Strategy.BBOX()]
                    ,projection: new OpenLayers.Projection("EPSG:4326")
                    ,protocol: new OpenLayers.Protocol.WFS({
                        version: "1.1.0"
                        ,srsName: "EPSG:4326"
                        ,url: "http://localhost:8080/geoserver/wfs"
                        ,featureNS :  "http://postgis.org"
                        ,featureType: "polygon"
                        ,geometryName: "the_geom"
                    })
                });

GeoServer構成では、ワークスペース'myWorkspace'、ストア'myStore'、レイヤー'myLayer'があり、WFSが有効になっています。また、「WMS設定のデフォルトスタイル」のレイヤーの「公開」タブで、myLayerがマルチポリゴンであるため「ポリゴン」を選択しました。

何が悪いのですか?

'featureNS'プロパティでワークスペース名を指定する必要がありますか?

OpenLayersに適したチュートリアルはありますか?
私は非常に貧しいドキュメントを読みました、そして、例はいつも私を助けません。また、GeoServerのユーザーマニュアルを読んだところ、非常に良いことがわかりました。


1
OpenLayersアプリケーションはポート80またはポート8080で実行されていますか?
geographika

1
リクエストの結果をFirebugで確認できますか?
イアンタートン

回答:


13

変更して、もう一度試してみてください。

  1. featureNS値がGEOSERVERの「名前空間URIの下のワークスペースページの編集」にあることを確認してください。「http://postgis.org」のような一般的なものは使用しないでください。「http:// yourdomain / application / catalogLayer」などのユニークなものを使用してください。このURIを作成できます。一意にするだけです。
  2. あなたは戦略として新しいBBOX()を持っていますが、そのボックスはディメンションとして何を持っていますか?テスト用に[new OpenLayers.Strategy.Fixed()]に変更します。
  3. featureTypeは実際にはジオメトリのタイプではなく、GEOSERVERでの「レイヤー名」です(誤解を招くようです)。
  4. geometryNameは、Geometryデータタイプを持つpostgisデータベースのフィールドの名前です。GEOSERVERの[レイヤの編集]の下にある[フィーチャタイプの詳細]を確認できます。そこに、「Geometry」タイプのフィールドが表示されます。プロパティ列の下の値を使用します。

featureNS

ここに画像の説明を入力してください

featureType

ここに画像の説明を入力してください

geometryName

ここに画像の説明を入力してください


1
それを共有してくれてありがとう。NSを正しく設定し、レイヤー名に:などの特殊文字を使用しないことが不可欠であることがわかりました。
JayCrossler 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.