Tại sao chúng ta cần Mapserver / Geoserver để trình bày dữ liệu từ cơ sở dữ liệu không gian đến trình duyệt web?


12

Tôi đã thử "Cách tôi thiết lập GeoServer trên một máy cũ"bởi @iant tôi đã thiết lập Tomcat và tất cả.

Tôi đột nhiên có một câu hỏi ... tại sao chúng ta cần MapServer và GeoServer?

Những máy chủ này có thể lấy dữ liệu từ lớp cơ sở dữ liệu khi người dùng hỏi và chỉ trình bày những gì người dùng đã hỏi từ cơ sở dữ liệu không?

Câu trả lời:


19

Câu trả lời đơn giản là bạn không cần chúng, nhưng nó giúp cuộc sống dễ dàng hơn nhiều. Bạn phải có một số loại phần tử máy chủ giữa cơ sở dữ liệu của bạn và trình duyệt web: vì vậy bạn có thể viết máy chủ của riêng mình bằng PhP (hoặc java hoặc bất cứ thứ gì) và xử lý tất cả những điều mơ hồ của cơ sở dữ liệu bạn đang sử dụng và sắp xếp chuyển khoản định dạng vv và làm các gỡ lỗi và thử nghiệm. Hoặc bạn có thể đứng trên 131 năm đã đi vào sự phát triển của GeoServer (hoặc 53 năm của MapServer) và bắt đầu phục vụ bản đồ vào chiều nay.

Và tất cả đó là trước khi tôi bắt đầu bài phát biểu tiêu chuẩn của mình về các tiêu chuẩn và tại sao cho phép bất cứ ai có thể thực hiện tiêu chuẩn này sử dụng bản đồ của bạn trong ứng dụng khách của họ mà không cần thêm bất kỳ mã hóa nào vào phần của bạn hoặc của họ là điều tốt.


1
Geoserver rất dễ cài đặt và triển khai - tại sao lại phát minh lại bánh xe khi một số sản phẩm có sẵn miễn phí. Một từ sẽ là 'kiểm soát' dữ liệu, trình chiếu và phân phối qua trình duyệt web
Mapperz

Làm thế nào bạn sẽ phong cách dữ liệu của bạn khác? (Tôi nhận được khoảng hơn 30 câu hỏi như thế này mà tôi có thể cung cấp cho bạn)
Ragi Yaser Burhum

6

Nó thực sự phụ thuộc vào những gì bạn cần làm với dữ liệu.

Ví dụ: nếu bạn chỉ cần hiển thị các điểm vectơ trên bản đồ cơ sở thì bạn có thể tạo một tập lệnh phía máy chủ rất đơn giản (bằng Python, .NET, PHP) để xuất bản dữ liệu không gian từ cơ sở dữ liệu của bạn. Khả năng PostGIS phục vụ GeoJSON làm cho điều này trở nên tầm thường.

Việc cung cấp các tính năng đơn lẻ như KML và tạo các hộp giới hạn cũng có thể được xử lý trực tiếp dễ dàng hơn với một tập lệnh đơn giản và cơ sở dữ liệu. Tilecaches Premade cũng cho phép (có thể) phần mềm phía máy chủ đơn giản hơn như TileStache .

MapServer hoặc GeoServer trong những trường hợp này sẽ là một chi phí rất lớn vì lợi ích nhỏ. Và có một chi phí rất lớn trong việc cấu hình và duy trì một trong hai ứng dụng này và các phụ thuộc liên quan của chúng - đặc biệt nếu bạn cần triển khai trên một máy chủ dùng chung hoặc bị hạn chế truy cập.

Như Ian đề cập có rất nhiều lợi ích của việc sử dụng phần mềm máy chủ bản đồ. Có lẽ lợi ích chính là các tùy chọn bản đồ để hiển thị dữ liệu động. Các tiêu chuẩn OGC, phép chiếu, truy vấn thuộc tính, truyền thuyết, siêu dữ liệu, bộ nhớ đệm, bảo mật, các định dạng không gian khác nhau, định dạng hình ảnh khác nhau, in ấn cũng có sẵn.


bạn đang nói rằng bạn có thể viết một máy chủ đơn giản nói chuyện với postgis (theo cách an toàn, không có lỗi) nhanh hơn tôi có thể giải nén GeoServer trỏ nó tại Postgis? Hãy nhớ GeoServer cũng có thể phục vụ GeoJSON.
Ian Turton

3
Giả sử bạn có ASP.NET hoặc máy chủ web Python được thiết lập thì ~ 10 dòng mã của nó để phục vụ một tính năng bằng ID (ví dụ)
geographika

3

Sử dụng một khung như Geomajas , bạn cũng có thể trực tiếp lấy các tính năng từ cơ sở dữ liệu và gửi các tính năng đến trình duyệt bằng SVG / VML để kết xuất / chỉnh sửa trong trình duyệt. Ngoài ra còn có một plugin rasterizing cho phép rasterizing trên máy chủ.

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.