Cách gỡ lỗi của ms mscessProjection (): Lỗi thư viện chiếu. không có danh sách hệ thống, errno: 2 lỗi lỗi trong mapserver?


8

Tôi nghĩ rằng tôi có một cấu hình sai trong máy chủ bản đồ của mình đang ngăn không cho nó phục vụ hình ảnh.

Trong tệp bản đồ của tôi, tôi có phần này:

  PROJECTION
    "init=epsg:4326"
  END

Nếu tôi để phần đó vào, tôi sẽ gặp lỗi này khi gọi GetMaphoặc thậm chí GetCapabilities:

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

Nếu tôi loại bỏ phần đó (không mong muốn), sẽ GetCapabilitieshoạt động, nhưng GetMapđưa ra lỗi này:

<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>

Đó là dự kiến ​​bởi vì tôi chỉ cần loại bỏ phần.

Vì vậy, câu hỏi của tôi là làm thế nào để tôi gỡ lỗi : msProcessProjection(): Projection library error. no system list, errno: 2?

Tìm kiếm trực tuyến, tôi thấy các bình luận liên quan đến quyền, nhưng apache (người dùng đang chạy httpd) có thể truy cập các thư mục sau được xác định trong httpd.conf của tôi:

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

Trong /some/place/share/projđó, có một tập tin epsgđúng như tôi mong đợi.

Tôi không nhận được lỗi từ apache.

Câu trả lời:


3

Bạn có thể chạy mapservchương trình trực tiếp từ dòng lệnh (sử dụng suđể chuyển sang người dùng apache trước) - chạy nó qua stracesẽ giúp xác định cách các thư viện đang được tải và các chức năng đang được gọi.

Bạn nên đặt các biến môi trường cụ thể của mình theo cách thủ công trước khi gọi mapserv để phản ánh đúng cấu hình Apache của bạn.

Ngoài ra, bạn có thể đặt các biến môi trường khác để mô phỏng chạy dưới dạng tập lệnh CGI:

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

QUERY_STRING sẽ hữu ích.


6

Một vài suy nghĩ. Thật khó để chẩn đoán điều này mà không cần nhìn vào mapfile của bạn, nhưng ở đây là:

  1. Bạn nên thử đặt biến PROJ_LIB của mình thành /some/place/share/proj/nad/Đó là nơi đặt tệp epsg.

  2. Cho phép gỡ lỗi. Đặt nó ở cấp 5. Bạn cũng sẽ cần phải thiết lập tệp nhật ký lỗi. Xem thêm thông tin về cô ấy trong tài liệu MapServer http://mapserver.org/mapfile/map.html

Tôi đoán rằng đường dẫn đến cơ sở dữ liệu epsg là sai hoặc người dùng của bạn không có quyền đọc nó.

Tôi không phải là vấn đề này, tôi sẽ xem xét liệu bạn đã đặt tất cả siêu dữ liệu cấp độ lớp và bản đồ trong MapFile cần thiết để phục vụ như một máy chủ WMS hay chưa. Thông tin thêm ở đây: http://mapserver.org/ogc/wms_server.html Đảm bảo rằng bạn đã đặt SRS / CRS hợp lệ trong siêu dữ liệu WMS của bạn.


4

Tôi mới gặp vấn đề này và thấy rằng vấn đề là do tôi chưa cài đặt gói 'proj-epsg'.

yum install proj-epsg

1

Để đọc thêm về Lỗi WMS và các lỗi phổ biến khác, hãy theo liên kết dưới đây;

http://mapserver.org/errors.html#ms Processprojection-no-such-file-or-directory (Nhân tiện, làm theo phương pháp này hiệu quả với tôi)

http://mapserver.org/errors.html


Chào mừng bạn đến với GIS SE! Trong trường hợp này tôi nghĩ rằng một thông báo lỗi cụ thể đang được hỏi về, nhưng bạn đã cung cấp lời khuyên chung chung như là một phần của câu trả lời chỉ liên kết ít nhiều. Do đó, tôi khuyên bạn nên chỉnh sửa câu trả lời của mình để giải thích cách giải quyết lỗi cụ thể đang được hỏi về.
PolyGeo

Tôi đã gặp vấn đề tương tự trước đó và bằng cách sử dụng phương thức trong liên kết đầu tiên tôi cung cấp, để chỉ định vị trí cho thư viện dự án trong tệp bản đồ và bằng cách Đặt biến môi trường thông qua máy chủ web của tôi trong tệp httpd.conf của cài đặt Apache của tôi , Tôi đã có thể giải quyết vấn đề. Vì vậy, đó là lý do tại sao tôi cung cấp liên kết đến giải pháp và nơi tôi tìm thấy nó.
dùng28864

Điều đó tốt để làm miễn là bạn cũng cung cấp bối cảnh / giải thích đó thay vì chỉ các liên kết. Tôi khuyên bạn nên chỉnh sửa câu trả lời của mình để sao chép / dán từ nhận xét của bạn vào câu trả lời của bạn, với sự sắp xếp nhanh chóng của nó. Ý tưởng là những khách truy cập tiếp theo có cùng vấn đề sẽ có ý tưởng hợp lý về cách giải quyết nó chỉ bằng cách đọc câu trả lời của bạn, ngay cả khi các liên kết cuối cùng bị phá vỡ tại một thời điểm nào đó trong tương lai. Cảm ơn đã dành thời gian trả lời.
PolyGeo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.