[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