GeoServer SQLクエリビュー

説明:

最近のプロジェクトは、需要、パイプネットワークの統計情報の必要な長さに遭遇したが、データパイプ網の量は、ベンが崩壊をOpenLayersを直接にフロントエンドのインターフェイスの統計情報と、非常に大きいです。

複数の実行可能なものの、バックグラウンドチェックデータベースを調整するためのインタフェースを使用する方法を試したが、バックグラウンドワークと対話する必要が後。

その後の研究では、あなたが直接、スキップ、バックエンドのデータベース、大規模な統計データの問題に最適なソリューションを問い合わせることができるようにGeoServerは、データベースのテーブルやビューを公開することができ、ことを見出しました。

ソリューション:

1、着陸GeoServer ==>レイヤーはディレクトリ==>新規追加リソースを見つけます

 

2、「設定新しいSQLビュー」をクリックし、ソース層で選択したPGに新規レイヤーを追加

 

3、上から下へ、情報を記入し、[保存]をクリックします

 

4、SQLソースの公開を保存します

 

 5、正しい情報のリリースを埋めるために、

 

 図6は、検証のレイヤプレビューでの成功のリリース後、ドロップダウンリストにGeoJSONを選択します(パブリッシュされたデータベースのテーブルには情報のないグラフィック要素を持っていない、我々は唯一にGeoJSONを見ることができます)

 

7、コードは、URLを呼び出します。

http:// localhostを:?8080 / geoserver /ガス/ OWSサービス= WFS&バージョン= 1.0.0&リクエスト= GetFeatureの&型名=ガス%3Atest_pipe&maxFeatures = 50&OUTPUTFORMAT =アプリケーション%2Fjson

8、SQLを添付

CREATE  OR  REPLACE  FUNCTION  パブリック)(.func_pipelengthを
   RETURNS  TABLE(pipetypeの整数、pipelength ダブル 精度をAS 
$ BODY $ 
BEGIN 
RETURN QUERYを 
 選択 1  として pipetype、合計(st_length(GEOM))として pipelength から t_pressureline TPは 参加 t_pressureline_typeのTPTを TP。 pressuratingcode = tpt.id どこ tpt.belong =  1つの
組合 
選択 2  として pipetype、(st_length(GEOM))として pipelength から t_pressureline TPが ジョイン t_pressureline_typeのTPTを tp.pressuratingcode = tpt.id ここ tpt.belong =  2  
組合を 
選択 3  として pipetype、(st_length(GEOM))として pipelength から t_pressureline TPは左の 参加 t_pressureline_typeのTPTを tp.pressuratingcode = tpt.id どこ tpt.belong = 3 
組合 
選択 0  として pipetype、(st_length(GEOM))として pipelength から t_pressureline TPが ジョイン t_pressureline_typeのTPTを tp.pressuratingcode = tpt.id ここ tpt.belongがある ヌルEND ;

問題:

 それとも未来が続いたときに、詳細な調査を継続しても何このレコードを処理しようとする際に多くの問題に遭遇しました

1は、リリースGeoServerの後、多くの場合、Niangshuiリターンデータフォーマットの問題の程度を、このエラーが発生しますが、検索する方法がわかりません。

エラーによってグループがこれを報告されるWHE、テストした後、ユースケース

 

おすすめ

転載: www.cnblogs.com/giser-s/p/11496466.html