Nguồn mở thay thế cho khái niệm dịch vụ xử lý địa lý của ArcGIS?


15

Tôi đang tìm kiếm bất kỳ ví dụ nào về việc triển khai logic mà Esri đã xây dựng với các dịch vụ xử lý địa lý. Bạn là tác giả của một công cụ tùy chỉnh hoặc nó có thể là một công cụ hệ thống >> bạn xuất bản nó để lộ chức năng này dưới dạng dịch vụ web >> bạn sử dụng dịch vụ web với một khách hàng.

Một ví dụ đơn giản cổ điển: người dùng có thể nhấp vào bản đồ để tạo điểm> tọa độ được gửi đến máy chủ> thao tác đệm đang được thực hiện ở mặt sau> tính năng vùng đệm (hoặc chỉ hình ảnh) được gửi lại cho máy khách và hiển thị trên vải bản đồ. Tôi đã phát triển dịch vụ Esri GP trong 3 năm qua và đó là một trải nghiệm tuyệt vời đặc biệt kể từ phiên bản 10.1.

Có bất kỳ ví dụ nào về hệ thống / giải pháp nguồn mở mà người ta có thể sử dụng để xây dựng một logic tương tự không?

Tôi đã googled và tìm thấy sextante gis nhưng không có gì cụ thể về cách thức hoạt động của nó và bao nhiêu logic có sẵn thông qua Esri có sẵn. 52North dường như cũng đang làm việc về điều đó, nhưng một lần nữa tôi lại thiếu phần giải thích rõ ràng về khái niệm này.

Câu trả lời:


6

Sử dụng WPS có sẵn hoặc Xây dựng chúng

Có toàn bộ mô tả / hướng dẫn về các dịch vụ xử lý web (WPS) được tìm thấy ở đây . Hầu hết điều này sẽ được thực hiện bằng cách sử dụng các yêu cầu HTTP được gửi đến một máy chủ như GeoServer đang lưu trữ quá trình này. Liên kết GeoServer sẽ phác thảo quá trình lưu trữ và gọi WPS chung bằng phần mềm của họ. Phần mở rộng WPS của GeoServer đi kèm với các quy trình JTS Topology Suite, là thư viện của các chức năng không gian phổ biến như bộ đệm và các hoạt động giao nhau. Dưới đây là ví dụ của họ về việc thực hiện thao tác đệm bằng thư viện JTS.

Những cách khác

Có nhiều cách khác để làm điều đó mặc dù. Nhóm web của chúng tôi sử dụng các truy vấn đối với cơ sở dữ liệu PostGRE / PostGIS của họ để thực hiện phân tích đơn giản, nhưng tôi không quen với điều đó.

Một ý tưởng tôi đã bắt đầu nghiên cứu liên quan đến việc sử dụng các tập lệnh python mã nguồn mở như PySal / GDAL để phân tích không gian. Bạn sẽ cần sử dụng một số JavaScript / AJAX (hoặc bất kỳ ngôn ngữ phía máy chủ nào) để thực thi các tập lệnh đó trên máy chủ của bạn và đưa ra kết quả. Nó sẽ là một tùy chọn phức tạp, nhưng tôi tin rằng nó sẽ cung cấp cho bạn các tùy chọn tùy chỉnh tốt hơn so với ESRI.

Tôi nghĩ bạn nên có thể chia nhỏ các tính năng thành một chuỗi GeoJSON để chuyển dưới dạng tham số vào các tập lệnh python. Từ đó, bạn sẽ cần phải chuyển đổi kết quả đó trở lại thành chuỗi GeoJSON để gửi lại cho máy khách để hiển thị. Các gói Python như Shapely có thể diễn giải chuỗi GeoJSON. Những người khác có thể cần một số cách giải quyết bằng văn bản để sử dụng GeoJSON hoặc có thể có một lựa chọn tốt hơn mà tôi chưa từng nghĩ đến khi sử dụng.

Một tùy chọn khác là sử dụng GeoTools để viết lên một ứng dụng web Java để phân tích không gian. Điều này cũng hỗ trợ các chuỗi GeoJSON và có một số chức năng phân tích không gian được tích hợp. Họ có một số ảnh chụp màn hình cho thấy các ứng dụng khác nhau của họ.

Có thể tạo WPS của riêng bạn hoặc chạy tập lệnh phía máy chủ. Sẽ không dễ như ESRI tạo ra, nhưng nó sẽ miễn phí nếu bạn đang sử dụng nguồn mở.

Dù bạn quyết định lộ trình nào, hãy cập nhật nó ở đây vì đây là một chủ đề tuyệt vời!


cảm ơn bạn rất nhiều, câu trả lời tuyệt vời Bạn đã đặt tên cho một trong những lựa chọn thay thế mà tôi ghi nhớ - kích hoạt các tệp Python .py từ trang web JS lưu trữ dữ liệu người dùng đã gửi, cung cấp dữ liệu này cho các hàm Python và sau đó nhận kết quả đầu ra được trả về trình duyệt web. Điều ở đây là bạn sẽ cần phải viết hầu hết các công cụ GP từ đầu. Liên kết GeoTools bạn đã chia sẻ trông thú vị mặc dù. Sẽ thật tuyệt khi thấy bất kỳ ví dụ trực tiếp nào về hoạt động GP được thực hiện ở phần cuối của GeoServer!
Alex Tereshenkov

2

Plugin OpenGeo cho Qgis có thể sử dụng các dịch vụ wps được lưu trữ trên máy chủ địa lý. Nó hoạt động giống như cách arcgis sử dụng hộp công cụ của họ, nó sẽ yêu cầu dịch vụ wps được kích hoạt và quy trình có sẵn. Bạn cũng nên kiểm tra pyWPS


bạn có thể vui lòng giải thích về plugin QGIS không? Nó sẽ chỉ là một máy khách để bàn có thể sử dụng các dịch vụ WPS? Tôi quan tâm đến việc tác giả các dịch vụ WPS sau đó trong một quy trình công việc tương tự mà Esri có (hoặc gần với dịch vụ đó với cấu hình nhiều hơn và lập trình nhẹ chấp nhận được). Có lẽ bạn có thể chia sẻ thông tin về việc phát triển dịch vụ wps từ bất kỳ máy tính để bàn nào sang GeoServer hoặc nền tảng máy chủ GIS khác?
Alex Tereshenkov
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.