Tương đương FOSS với các sản phẩm ArcGIS này là gì? [đóng cửa]


49

Tôi là người dùng lâu dài phần mềm ESRI và bây giờ tôi có nhu cầu sử dụng phần mềm nguồn mở và miễn phí.

Tôi đã đọc về OpenLayers, PostgreSQL, PostGIS, GeoServer và MapServer nhưng tôi không thể tìm thấy một tổng quan tốt cho biết mỗi sản phẩm làm gì, tại sao nó cần và làm thế nào chúng phù hợp với nhau.

Ví dụ: cả http://www.osgeo.org/http://freegis.org/ đều liệt kê một loạt các sản phẩm nhưng không cung cấp đủ thông tin để tôi quyết định những sản phẩm nào có liên quan.

Trong ArcGIS, tôi sẽ sử dụng như sau:

  • tập tin geodatabase hoặc ArcSDE geodatabase để lưu trữ dữ liệu
  • Máy tính để bàn ArcMap để chỉnh sửa dữ liệu và biên dịch tài liệu bản đồ
  • ArcGIS Server để tạo các dịch vụ web
  • API JavaScript của ArcGIS Server để tạo bản đồ người dùng cuối từ các dịch vụ web

Các sản phẩm FOSS tương đương là gì?


4
Câu trả lời cho câu hỏi này có thể tạo ra một loạt các mục blog tuyệt vời :-).
whuber

3
Tôi nghĩ rằng một bài viết "Làm thế nào để bắt đầu với FOSS4G" sẽ cực kỳ hữu ích. Hầu hết các tài nguyên tôi thấy được viết bởi các nhà phát triển có kinh nghiệm dành cho các nhà phát triển có kinh nghiệm, không có tổng quan cấp cao
Stephen Lead

@whuber Tôi đồng ý, chúng ta cũng nên quảng bá Hội nghị FOSS4G 2011 sắp tới .
Kirk Kuykendall

@Kirk Tôi xem triển vọng quảng bá bất cứ điều gì - hội nghị, phần mềm, bất cứ điều gì - nằm ngoài phạm vi của trang web này và là một ảnh hưởng hủy diệt thông qua xung đột lợi ích tiềm năng (hoặc sự xuất hiện của nó). Một cơ chế quảng bá tồn tại thông qua quảng cáo trên trang web, đó là vấn đề giữa các nhà tổ chức hội nghị và SE. Các sự kiện đáng chú ý và đáng chú ý, tuy nhiên, đã được công khai ở đây. Có lẽ đăng bài trên blog của chúng tôi là cách để đi ...
whuber

1
@whuber, xin lỗi, tôi nên đã xây dựng. Một loạt các blog trên FOSS cũng có thể quảng bá hội nghị FOSS4G. Một lý do tôi đề nghị điều này là để dành thời gian bình đẳng cho những gì có khả năng xuất hiện cho nhiều người như các chương trình khuyến mãi cho các hội nghị Esri.
Kirk Kuykendall

Câu trả lời:


63

Để lưu trữ dữ liệu , hai lựa chọn thay thế đầu tiên được đề cập là PostGISSpatiaLite .

  • SpatiaLite là một cơ sở dữ liệu SQLite với các khả năng không gian, có nghĩa là nó dựa trên tệp, nhỏ gọn và nhanh chóng.

  • PostGIS là các khả năng không gian trên cơ sở dữ liệu PostgreSQL. Điều đó có nghĩa là nó rất mạnh với khả năng xử lý các tập dữ liệu lớn, các truy vấn phức tạp một cách hiệu quả.

Trước khi chuyển sang máy tính để bàn, bạn nên lưu ý rằng rất nhiều tác vụ có thể được thực hiện rất hiệu quả trực tiếp trong cơ sở dữ liệu. Hầu hết mọi thứ bạn thường làm trong ArcMap đang chờ các hộp thoại khác nhau bật lên, bạn sẽ thực hiện nhanh hơn nhiều lần trực tiếp với một vài dòng mã SQL. Điều đó có nghĩa là bạn cũng có thể lưu trữ những gì bạn đã làm và thực hiện lại trên một tập dữ liệu khác rất dễ dàng bằng cách chỉ lưu mã SQL của bạn. Nhiều câu hỏi của PostGIS ở đây là về cách viết các truy vấn đó, vì vậy bạn có thể có ý tưởng về những gì có thể được thực hiện bằng cách duyệt các câu hỏi được gắn thẻ PostGIS.

Sau đó là phía máy tính để bàn . Có rất nhiều giải pháp máy tính để bàn. Tôi nghĩ rằng đã đến lúc phải thừa nhận rằng ESRI trên máy tính để bàn là tốt. Như đã nói trước đây, hầu hết các tác vụ bạn làm trong ArcMap đều được thực hiện sâu hơn trong cơ sở dữ liệu, nhưng khi nói đến các tác vụ mà bạn cần giải pháp máy tính để bàn thì ArcMap là tốt. Những gì tôi sử dụng là QGIS và nếu tôi có ngân sách để chi tiêu, tôi sẽ chuyển chi phí giấy phép ESRI để hỗ trợ sửa lỗi trong QGIS. QGIS là phần mềm tuyệt vời có thể làm nhiều hơn hoặc ít hơn mọi thứ mà ArcMap có thể. Nhưng có thể cần một hoặc hai giấy phép ArcInfo (bằng tiền) để đánh bóng nó. Bạn cũng có thể xem Open Jump , GvSIG , uDIG và nhiều hơn nữa.

Khi nói đến các dịch vụ web, bạn có MapServer, GeoServer, TinyOWS, v.v.

  • GeoServer có lẽ là dễ dàng nhất để bắt đầu vì nó có giao diện web khá trực quan. GeoServer có thể làm hầu hết những điều bạn muốn. Nó có thể phục vụ các dịch vụ WFS WFS Tiled, v.v. Tất cả được viết bằng Java.

  • MapServer được viết bằng C và tôi nghĩ thật công bằng khi nói đó là vua của các dịch vụ WMS. Ít nhất là nó đã giành chiến thắng trong loạt đá luân lưu năm ngoái trong hội nghị FOSS4G (ESRI không dám tham gia). Mapserver được cấu hình thông qua "tệp bản đồ" và tôi không biết về bất kỳ giao diện đồ họa nào. Nhưng đối với những người phục vụ nghiêm túc thì đó là một sự thay thế rất thú vị.

  • Đối với các dịch vụ wfs có thể chỉnh sửa, bạn có GeoServer đã đề cập trước đó nhưng cũng có TinyOWS . TinyOWS là một máy chủ wfs nhỏ được viết bằng C. Gần đây, nó đã được tích hợp nhiều hơn trong Mapserver vì bạn có thể sử dụng cùng một tệp bản đồ cho cả hai.

Sau đó, phía khách hàng trên web . Tôi không biết nhiều về tất cả các khả năng ở đó nhưng hầu hết các giải pháp được xây dựng theo cách này hay cách khác trên OpenLayers là thư viện Javascript.

Chuyển từ thế giới ESRI tôi nghĩ sẽ mở ra một khả năng rất quan trọng khác cho bạn. Nếu bạn muốn, bạn cũng có thể tự do rời khỏi nền tảng Windows. Bạn có thể đặt mọi thứ trên bất kỳ bản phân phối Linux nào.

Phần mềm được đề cập ở trên cùng với Linux sẽ giảm nhu cầu phần cứng rất nhiều.

Một ví dụ về phần mềm FOSS hoạt động tốt là bản đồ của Norgeskart , từ cơ quan bản đồ chính thức ở Na Uy.

Ở phía dưới, họ sử dụng PostGIS phục vụ Mapserver. Bộ nhớ đệm trong Geowebcache và sử dụng ứng dụng khách dựa trên OpenLayer trên đầu trang. Nó không hào nhoáng như một giải pháp Silverlight nhưng điều đó cũng có thể làm được.

Họ đã sử dụng phần mềm ESRI trước đây nhưng phải rời bỏ điều đó khi nhu cầu của họ tăng lên về năng lực và tốc độ.


Nicklas, cảm ơn bạn rất nhiều - điều này thực sự giúp tôi biết bắt đầu từ đâu
Stephen Lead

2
Theo kinh nghiệm của tôi, nơi duy nhất của hoạt động GIS nơi ESRI vẫn không thể tranh cãi giữ vị trí cao là bản đồ học. Tôi rất thích thấy sự kết hợp giữa qgis và inkscape hoặc scribus, và đã có một số thành công với qgis + inkscape, nhưng chỉ với các bản đồ liên quan đến rất ít tính năng và đỉnh (trong đó "vài" có nghĩa là hàng ngàn so với hàng chục hoặc hàng trăm của hàng ngàn). Một lĩnh vực thứ hai của sự phổ biến là sự gắn kết. Với arcgis, với điều kiện một người có tiền, hầu hết mọi thứ đều ở đó. Với chỉ nha khoa, người ta dành rất nhiều thời gian để dán mọi thứ lại với nhau. Điều này đang nhanh chóng cải thiện, đặc biệt là trong qgis.
matt wilkie

21

Nicklas đã chỉ ra các gói nguồn mở phổ biến nhất. Nếu bạn quan tâm đến sự kết hợp chặt chẽ hơn giữa máy tính để bàn và máy chủ GIS, bạn có thể muốn xem xét kỹ hơn về QGIS.

Tương tự như thiết lập mà bạn đã mô tả cho ArcGIS, có một thiết lập như vậy cho QGIS:

  • PostGIS để lưu trữ dữ liệu
  • Máy tính để bàn QGIS để chỉnh sửa dữ liệu và tạo tài liệu bản đồ
  • Máy chủ QGIS để tạo các dịch vụ web
  • Khách hàng QGIS để tạo giao diện người dùng web

3
ví dụ webgis.uster.ch là tuyệt vời!
Stephen chì

2
Tôi đặc biệt thích chức năng in ấn.
underdark

6

Phát biểu từ quan điểm của những gì tôi sử dụng hàng ngày (mặc dù điều này được tô màu bởi sự tham gia của tôi trong hầu hết các dự án):

  • tập tin geodatabase hoặc ArcSDE geodatabase để lưu trữ dữ liệu

PostGIS, SQLite và Shapefiles, theo thứ tự từ cơ sở dữ liệu tốt nhất đến định dạng di động nhất.

  • Máy tính để bàn ArcMap để chỉnh sửa dữ liệu và biên dịch tài liệu bản đồ

QGIS cho các hoạt động không gian, TileMill để biên dịch tài liệu bản đồ (giả sử rằng bạn có nghĩa là tài liệu bản đồ như trong các kiểu, kết hợp các nguồn dữ liệu, v.v.)

  • ArcGIS Server để tạo các dịch vụ web

TileStream để phục vụ các bản đồ được tạo từ TileMill hoặc TileStache để hiển thị trực tiếp. Tuy nhiên, nhiều, nhiều nhóm đang đi theo con đường tạo bản đồ thay vì phục vụ trực tiếp nhờ kinh nghiệm giữ máy chủ trực tuyến và nhanh chóng.

  • API JavaScript của ArcGIS Server để tạo bản đồ người dùng cuối từ các dịch vụ web

Tờ rơi nếu bạn muốn tránh làm phát triển thêm. TurfJS cho các nhiệm vụ phân tích trong trình duyệt.


tuyệt, cảm ơn vì lời khuyên. Tôi sẽ kiểm tra tất cả
Stephen Lead

3
  • tập tin geodatabase = PostGIS
  • ArcMap = QGIS với một PostGIS trong phần phụ trợ Postgresgl
  • Máy chủ ArcGIS = Máy chủ Geo, Máy chủ Bản đồ, Máy chủ QGIS
  • API JavaScript của ArcGIS Server để tạo bản đồ người dùng cuối từ các dịch vụ web = Mở lớp bằng Mapfish.

Ngăn xếp có thể được cài đặt từ trang web postgresql với stackinstaller.

Giải pháp đơn giản nhất là cài đặt ngăn xếp LAPP với Postgresql, chứa cơ sở dữ liệu Post GIS và có thể là máy chủ tomcat gọi Apache, cho phần cuối bạn sẽ cần một tên miền hoặc có ISP hỗ trợ phục vụ dữ liệu cho web từ máy chủ của bạn.

Cài đặt QGIS cho một GUI đẹp với chức năng ứng dụng phù hợp và kết nối nó với thùng chứa Post GIS của bạn. Hoạt động tốt mà không có apache và tomcat cho mạng nội bộ.

Bạn sẽ cần phát triển một ứng dụng bằng cách sử dụng web root của cài đặt apche để phục vụ qua internet trừ khi bạn dựa trên đám mây.

Để phát triển trong trình duyệt với tư cách là một ứng dụng khách có thể được gọi trong trình duyệt cần nhiều sự phát triển hơn và đòi hỏi một cái gì đó như Open Layer và Mapfish. Đây là cách ít đau đớn nhất và họ cũng có nhiều lựa chọn và cân nhắc khác.

Đối với máy tính để bàn, điều này hoạt động tốt, tuy nhiên, trừ Mapfish và Open Layer.

Đây là loại những gì nó trông giống như, logic. Đăng GIS> Postgresql> Geoserver> QGIS> Tomcat> Mapfish

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.