[OSGeoJapan-discuss] [質問]WFSでの図形表示について
神谷 紳一郎
kamiya @ shinnihon-cst.co.jp
2014年 6月 9日 (月) 21:33:53 PDT
和山さん、
返信ありがとうございます。
なるほど、geojsonでPostGISとやり取りするわけですね。
参考にして試してみます。
> -----Original Message-----
> From: Ryousuke Wayama [mailto:wayama @ isop.ne.jp]
> Sent: Tuesday, June 10, 2014 11:42 AM
> To: 神谷 紳一郎; osgeojapan-discuss @ lists.osgeo.org
> Subject: Re: [OSGeoJapan-discuss] [質問]WFSでの図形表示について
>
> 神谷さん、はじめまして。
> 和山と申します。
>
> WFSの方は触ったことがないので、詳しい方に説明はお任せするとして、
> 似たようなことをやっていたのでご参考までに。
> 私の方はOpenlayers + PHP + PostGIS(GeoJSON)でやっておりました。
> GeoJSONもVector形式でいろいろstyleを弄ることが可能です。
> PostGISから直接geojsonを出力できるとpostgresqlのテーブルと
> joinしたりもでき、柔軟なデータ形成が可能となるのでお勧めです。
>
> 以下はサンプルコードになります。
>
> ■javascriptレイヤ設定部分
> var url="/getGeoJson.php?PrefCd=01"
> var geojson_format = new OpenLayers.Format.GeoJSON(); $.getJSON(url, "",
> function(data, textStatus, jqXHR) {
> var layer = new OpenLayers.Layer.Vector(layer_name,
> layer_stylemap);
> $.each(data["features"], function(i, val) {
> var geometry =
> geojson_format.parseGeometry(val["geometry"]);
> geometry.transform(
> new OpenLayers.Projection("EPSG:4326"),
> map.getProjectionObject()
> );
> var feature = new OpenLayers.Feature.Vector(geometry, {
> id : val["properties"]["f1"], //地域コード
> name: val["properties"]["f2"] //地域名
> });
> layer.addFeatures([feature]);
> });
> map.addLayer(layer);
> });
>
>
> ■PHP&PostGIS設定
> $sql="SELECT row_to_json(fc) as geojson
> FROM (SELECT 'FeatureCollection' As type,
> array_to_json(array_agg(f)) As features
> FROM (SELECT 'Feature' As type,
> ST_AsGeoJSON(ST_SimplifyPreserveTopology(geom,0.00005))::json As
> geometry, row_to_json((seq_no2::text, moji)) As properties
> FROM geotest WHERE ken=? order by moji) As f) As fc"; echo
> $db->query($sql,array($_GET["PrefCd"]));
>
> 神谷 紳一郎 wrote:
> > 皆様、はじめまして。
> > 神谷と申します。
> >
> > 現在、windowsローカル環境にて
> > Openlayers + Geoserver + PostGIS で色々試しています。
> >
> > PostGISのデータを以下のようにWFSで表示しようとしているのですが成功し
> ません。
> > 何が原因か、皆様のお知恵を貸していただきたいと思います。
> >
> > ■javascriptレイヤ設定部分
> > OpenLayers.ProxyHost= "/cgi-bin/proxy.cgi?url=";
> > var layer = new OpenLayers.Layer.Vector(
> > "WFSLayer",
> > {
> > strategies: [new OpenLayers.Strategy.BBOX()],
> > protocol: new OpenLayers.Protocol.WFS(
> > {
> > url:
> > "http://localhost:28080/geoserver/geotest/wfs",
> > featureType: "geotest:test001",
> > featureNS:
> "http://localhost:28080/geotest",
> > geometryName: "geom"
> > }
> > )
> > }
> > );
> > orverlayLayers.push(layer);
> > map.addLayers(orverlayLayers);
> >
> > ■Geoserver設定
> > ・Workspace
> > Name:geotest
> > NamespaceURI:http://localhost:28080/geotest
> > ・Store
> > Workspace:geotest
> > DataSourceName:testDB
> >
> > ・Layer
> > Name:test001
> > FeatureTypeDatail:gid(int)
> > geom(Point)
> >
> >
> > ■その他
> > ・Apacheポート:8080
> > Geoserverポート:28080
> > ・WMSで表示することはできました。
> > ・http://localhost:8080/cgi-bin/proxy.cgi は表示可能でした
> > ・
> >
> http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=
> > GetCap
> > abilities でレイヤ情報も閲覧可能でした
> >
> >
> > 以上、よろしくお願いします。
> > ============================================
> > 株式会社新日本コンサルタント
> > 地理空間情報部門 統合情報系グループ
> > 神谷 紳一郎
> > E-mail kamiya @ shinnihon-cst.co.jp
> > TEL 076-436-2111
> > ============================================
> >
> >
> >
> >
> > _______________________________________________
> > OSGeoJapan-discuss mailing list
> > OSGeoJapan-discuss @ lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
> >
>
> --
> -------------------------------------
> 株式会社 ノーザンシステムサービス
> 第一システム事業部
> 専務執行役
> 和山 亮介
> E-mail:wayama @ isop.ne.jp
> URL:http://www.isop.ne.jp/nss/
> 〒020-0866
> 岩手県盛岡市本宮4丁目3-5 マップセンタービル2階
> TEL:019-631-1781 FAX:019-631-1782
> -------------------------------------
More information about the OSGeoJapan-discuss
mailing list