問題タブ [geoserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - ジオサーバーとスレッド数
Geoserver を使用していますが、多数のユーザーがいる実稼働環境でパフォーマンスの問題が発生しています。
250、150、および 20 スレッドで負荷テストを行いました。Geoserver は 150 スレッドよりも 20 スレッドのほうがうまく機能し、スレッド数が増えると (150 または 250)、パフォーマンスが低下することに気付きました。
正常ですか?Geoserver はユーザーのリクエストをどのように管理しますか? Geoserver は非同期戦略を使用してユーザーのリクエストを管理しますか?
前もって感謝します。
bsh
paste - WMS/WFS サーバー: 自分で作成するのは気が狂っていますか?
私は「自分でやる」タイプの男ですが、噛むことができる以上に噛むことで自分自身をやろうとしないようにしたい.
エンド ユーザーのマシンでスタンドアロン (インターネット接続なし) を実行するオプションが必要なブラウザー ベースのマッピング アプリケーションを作成しています。つまり、アプリケーションは、多くの場合、エンド ユーザーのマシンにインストールされるある種のサーバーであり、ブラウザーはそれにアクセスするために何らかの localhost URL を指します。
クライアント側で MapLayers を使用し、サーバー側には、特定のカスタム方法でマップ上のクリック イベントを処理したり、特定の時間にマップ上にさまざまなカスタム オブジェクトを作成したりするなど、アプリケーションに固有の一連のカスタム ロジックがあります。等々。
サーバーの「ビジネス ロジック」部分については、python で paste/webob を使用して満足しています。これは、このすべてのカスタム ロジックを簡単に配置できる単純なインフラストラクチャです。
私は、クライアントが 2 つのサーバーと通信することを考えていました。この貼り付け/webob ビジネス ロジック サーバーと、WMS および WFS マップ要素を提供するためだけのサーバーです。そこで、マップ パーツを処理するために MapServer と GeoServer を検討していましたが、満足できませんでした。
クライアント マシンに "獣" をインストールして心配する必要がないので、私は満足していません。MapServer については、Apache のような本格的な Web サーバーをインストールしたくありません。また、CGI と PHP と MapScript を処理する必要があります。GeoServer の場合、(潜在的に) Java をインストールし、GeoServer のセットアップと管理のさまざまな複雑さを処理します。
これの一部は、単に学習曲線の問題です。それを避けることができれば、MapServer や GeoServer の複雑さを学ぶことに特に興味はありません。私は GeoServer をインストールし、それを私のデータの一部に向け、GeoServer の優れた Web 管理に組み込まれている MapLayers プレビューを使用して私のデータを表示することができました。しかし、GeoServer を指す自分の MapLayers Web ページを使用して実際にデータを提供しようとすると、GeoServer がクラッシュしました。クライアントからおそらく不正な形式のリクエストを送信するだけでサーバーをクラッシュさせることができるということは、私にとって非常に驚くべきことでした。そして、GeoServer のログを調べて、何が間違っていたのかを突き止めようとすることもできますが、そのために多くの時間を費やしたくありません。
そのため、既に持っているペースト/webob サーバーを使用して、WMS および WFS インターフェイスの一部を自分で実装することを検討しています。実際には、WMS だけが必要なのかもしれません。クライアントにデータを渡すために作成した単純なカスタム プロトコルを介してベクトル オブジェクトを処理し、OpenLayers を使用してオブジェクトを直接作成および操作できるからです。
私は、WMS の仕様とメッセージの例を見てきました (WFS の場合は少し少なくなりました)。特にこの場合、クライアントを完全に制御できるため、このプロトコルを自分で実装することはそれほど難しくないようです。一般的な WMS または WFS サーバーとして機能する必要があるわけではありません。自分の OpenLayers クライアントを満足させるだけです。
WMS サーバーに必要な 2 つの主な機能は次のとおりです。
事前に作成したレンダリング済みタイルのストアからタイルを提供します (レンダリング エンジンとして OpenStreetMap データと mapnik を使用してタイルを事前レンダリングします。通常の Google マップ スタイルのタイル命名スキームを使用してそれらを保存し、アクセスしますOpenLayers が期待するもの)
ローカルに保存した特定のデータがタイルの上に描画される、これらのタイルの変更されたバージョンをサーバーする機能があります。たとえば、ある「レイヤー」に 10000 個のポイントがあり、別のレイヤーに 10000 個のポリゴンがあるとします。ユーザーがこれらのレイヤーをアクティブにすると、同じベース タイルを提供しますが、これらのタイルを提供するときにレンダリングしますそれらの上にこれらの追加機能を追加し、おそらく単純なキャッシング スキームを実装して、これらの過度にレンダリングされたタイルをしばらく保持します。
私の質問は、これらのことを行う既存のツール (MapServer、GeoServer、TileCache など) があることは知っていますが、実際には、単純な WMS メッセージに応答するだけの作業は少ないと感じています。 Python で自分のタイルにこの追加のオーバードローイングを行い、すべてが正しく投影されていることを確認します。これらのオーバーレイヤーには派手な広い通りや何かを描く必要はなく、単純な線、アイコン、およびおそらくラベルだけです。Pythonのみのソリューションを持つことは、確かに素晴らしくシンプルに聞こえます。
WMS/WFS プロトコルのサポートを拡大したり、より複雑なオーバードローを行う必要がある場合は、その時点で MapServer/GeoServer を挿入するだけでよいと思います。
私が考慮していない落とし穴はありますか?
rest - ジオサーバー構成のリロード
私がこれをするべきかどうかはよくわかりません。私が望んでいるのは、sldファイルを動的に生成することです。geoserveradminでsldを更新すると、リロードが実行されるように見えます。そこで、残りのapiとcurlを使用してリロードを実行しようとしましたが、機能していないようです。
これが私のカールです
すべてをクリアする別の方法がある場合は、私のsldがリロードされます。これを機能させる必要があり、なぜ機能しないのかわかりません。
ありがとうございました
map - Geoserver TextSymbolizerレンダリングの問題?
私はgeoserver2.0.1を使用し、textsymbolizerを使用して地図上のフィーチャにラベルを付けました。私がfont-size、font-family、または..を変更しようとすると、効果がないため、geoserverは''タグをサポートしていない可能性があります。異なるスタイルでフィーチャーにラベルを付けるにはどうすればよいですか?
postgresql - GeoServerでPostgresPostGISデータベースを設定する際の問題
私はPostgresデータベースにimage_idという名前とgeometry列を持つテーブルを作成しました。スキーマは次のようになります。
このSQLステートメントを使用して、テストレコードをテーブルに挿入しました。
次に、GeoServerで新しいPostGISストアを作成し、Postgresで作成したデータベースに接続しました。新しいレイヤーを作成して新しいストアに接続しようとすると、エラーが発生し、次のエラーメッセージが表示されます。
セットアップ手順で何か問題がありますか?
openlayers - postgisテーブル戦略へのユーザー入力の保存
私はopenlayers、geoserver、postgis/postgresが非常にうまく機能しています。ユーザーが地図にポイントを追加できるアプリを作成しようとしています。ポイントが作成された後、ユーザーがポイントが追加された場所に関する情報を入力できるようにするさまざまなコントロールを表示するポップアップフォームが必要です。
postgisで、追加されたポイントのpキーに基づいてユーザー入力を保持するための別のテーブルを作成しますか?私には良い考えのように思えますが、ポイントがデータベースに追加される前に、openlayersのfeatureaddedイベントがトリガーされることに気づきました。ジオサーバーを使用してユーザー入力の保存を処理できますか、それともユーザー入力を処理するために独自のモジュールを作成する必要がありますか?
geoserver - ジオサーバーと動的マーカー
解決策は本当に簡単になる可能性が高いので、この質問を投稿して本当に申し訳ありません。しかし、私は検索文字列のアイデアから完全に外れています。
実行中のGeoserverと、建物などを説明するいくつかのカスタムシェープファイルがあります。WMSインターフェイスを使用してマップをpngとしてリクエストし、Webサイトに表示できます。とても良いです。
次のステップでは、ユーザーが座標を指定して、地図上に小さなマーカーを描画できるようにします。この位置はどこにも保存しないでください。このユーザーのために描画したいだけです。これはWMSリクエストとインライン機能で可能だと確信していますが、うまくいく解決策を見つけることができず、Googleの検索文字列がありません。
pngマップ上にオーバーレイを描画する前に私を助けてください。
openlayers - OpenLayers ページは IE でのみアクセス可能です
OpenLayers と GeoServer を使用して Web マップ アプリケーションを開発しました。Geoserver は実稼働サーバーのポート 8080 にインストールされています。Internet Explorer で問題なく動作し、すべての GIS レイヤーに簡単にアクセスできます。しかし、私のアプリケーションは、Chrome や firefox などの他のエクスプローラーでは実行されません。
IE 以外のどのエクスプローラーでも機能しない理由を誰かが説明できますか? 問題はどこにありますか?
iis - 運用環境の外からポート 80 で IIS と Geoserver の両方にアクセスするにはどうすればよいですか?
運用サーバーには、IIS と GeoServer がインストールされています。運用環境の外からポート 80 で IIS にアクセスできます。http://92.108.64.13:80/geoserver/web/のように、運用環境の外から同じポート 80 で GeoServer にもアクセスしたいと考えています。しかし、ポート 80 で GeoServer にアクセスできませんでした。
ポート 80 で IIS と Geoserver の両方にアクセスできますか? 通常、Geoserver は別のポートで実行され、有効な範囲は (1024 から 65535) です。実際、GeoServer にアクセスするために他のポートを開きたくありません。ポート 80 で Geoserver と IIS の両方にアクセスできるソリューションはありますか?
この問題を解決するための有益な提案が必要
openlayers - OpenLayersはバウンディングボックスの座標をどのように計算しますか?
GeoServerのWMSを介してOpenLayersを使用して地図を表示しようとしています。OpenLayersがBBOX座標を計算して、jsで適切に設定し、投稿されたエラー応答を回避する方法を知りたいです。私はOpenStreetMapとGoogleStreetMapでこの問題を抱えていません。
これは、関数で使用したJavaScriptコードです。
これは、ジオサーバーへのリクエストです。
これは私がジオサーバーから得ている応答です:
400:解像度(0.00274658203125)が最も近いグリッド解像度(0.0023326729820109904)の5.0%ではありません