「msProcessProjection()のデバッグ方法:投影ライブラリエラー。システムリストがありません、errno:mapserverに2インチエラーがありますか?


8

mapserverの設定に誤りがあり、画像を提供できないと思います。

私のマップファイルには、次のセクションがあります。

  PROJECTION
    "init=epsg:4326"
  END

私はそのセクションを残す場合は呼び出すときに、私はこのエラーを取得GetMapしてもかGetCapabilities

msProcessProjection(): Projection library error. no system list, errno: 2

そのセクションを削除すると(望ましくない)、GetCapabilities動作しGetMapますが、このエラーが発生します。

<ServiceExceptionReport version="1.1.1">
    <ServiceException code="InvalidSRS">msWMSLoadGetMapParams(): WMS server error. Cannot set new SRS on a map that doesn&#39;t have any projection set. Please make sure your mapfile has a projection defined at the top level.</ServiceException>
</ServiceExceptionReport>

セクションを削除したばかりなので、これは予想通りです。

だから、私の質問はどのようにエラーをデバッグするのmsProcessProjection(): Projection library error. no system list, errno: 2ですか?

オンラインで検索すると、権限に関連するコメントが表示されますが、Apache(httpdを実行しているユーザー)は、httpd.confで定義されている次のディレクトリにアクセスできます。

SetEnv LD_LIBRARY_PATH /some/place/lib/
SetEnv PROJ_LIB /some/place/share/proj/
SetEnv GDAL_DATA /some/place/share/gdal/
SetEnv LC_NUMBERIC C
SetEnv GEOTIFF_CSV /some/place/share/gdal/
SetEnv LANG=C

/some/place/share/projepsg予想通りのファイルがあります。

Apacheからエラーは発生しません。

回答:


3

mapservコマンドラインから直接プログラムを実行できます(su最初にapacheユーザーに切り替えるために使用します)。プログラムを実行すると、straceライブラリのロード方法と関数の呼び出し方法を判断するのに役立ちます。

Apache構成を適切に反映するために、mapservを呼び出す前に、特定の環境変数を手動で設定する必要があります。

また、他の環境変数を設定して、CGIスクリプトとしての実行をシミュレートできます。

http://www.cgi101.com/book/ch3/text.html

QUERY_STRINGが役立つでしょう。


6

いくつかの考え。mapfileを確認せずにこれを診断することは多少困難ですが、次のようになります。

  1. PROJ_LIB変数をに設定してみてください。 /some/place/share/proj/nad/これがepsgファイルの場所です。

  2. デバッグを有効にします。レベル5に設定します。エラーログファイルも設定する必要があります。MapServerのドキュメントhttp://mapserver.org/mapfile/map.htmlで彼女の詳細をご覧ください。

epsgデータベースへのパスが間違っているか、ユーザーにそれを読み取る権限がないと思います。

これは問題ではないので、WMSサーバーとして機能するために必要なすべてのレイヤーとマップレベルのメタデータをMapFileに設定したかどうかを確認します。詳細はこちら:http : //mapserver.org/ogc/wms_server.html WMSメタデータに有効なSRS / CRSが設定されていることを確認してください。


4

この問題に遭遇したところ、問題は「proj-epsg」パッケージをインストールしていなかったことが原因であることがわかりました。

yum install proj-epsg

1

WMSエラーとその他の一般的なエラーの詳細については、以下のリンクを参照してください。

http://mapserver.org/errors.html#msprocessprojection-no-such-file-or-directory(ちなみに、この方法に従うとうまくいきました)

そして

http://mapserver.org/errors.html


GIS SEへようこそ!この場合、特定のエラーメッセージが表示されると思いますが、リンクのみの回答の一部として一般的なアドバイスを提供しています。したがって、回答を編集して、質問されている特定のエラーに対処する方法を説明することをお勧めします。
PolyGeo

以前に同じ問題があり、最初に提供したリンクのメソッドを使用して、マップファイルでプロジェクトライブラリの場所を指定し、Apacheインストールのhttpd.confファイルでWebサーバーを介して環境変数を設定しました、私は問題を回避することができました。だから、私はソリューションへのリンクを提供し、それを見つけた場所です。
user28864 2014年

リンクだけでなく、そのコンテキスト/説明も提供している限り、問題ありません。回答を編集して、コメントから回答にコピー/貼り付けし、簡単に整理することをお勧めします。同じ問題を持つ後続のビジターは、リンクが将来のある時点で壊れてしまう場合でも、回答を読むだけでそれを解決する方法についての公正なアイデアを持つことになります。お時間を割いていただきありがとうございます。
PolyGeo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.