[OSGeoJapan-discuss] [質問]WFSでの図形表示について
Ryousuke Wayama
wayama @ isop.ne.jp
2014年 6月 9日 (月) 19:41:46 PDT
神谷さん、はじめまして。
和山と申します。
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