Dịch vụ bản đồ miễn phí cho các ứng dụng web riêng


12

Lý lịch

Tìm cách hiển thị bản đồ (chỉ sử dụng nội bộ) trên trang web. Ứng dụng phải có thể thêm các lớp tùy chỉnh (không gửi dữ liệu đến máy chủ dịch vụ bản đồ):

  • Khu vực thành phố (được xác định bởi shapefiles)
  • Các vùng tùy chỉnh (được xác định bởi đa giác, có thể theo các vùng Thành phố)
  • Vị trí trang web (được xác định bởi lat / long)
  • Dữ liệu thành phố bổ sung (được xác định bởi các tệp hình dạng)

Bởi vì đây là một liên doanh tư nhân, nó loại bỏ nhiều dịch vụ bản đồ, bao gồm: Google Maps, Bing, Yahoo! Bản đồ, MapQuest và các dịch vụ trả tiền sử dụng khác.

Cập nhật số 1

Có lẽ MapQuest là một khả năng .

Cập nhật số 2

Yêu cầu mà tôi quên đề cập:

  1. Có dữ liệu bổ sung (thành phố, thị trấn, ấp) không phải là một phần của OpenStreetMap. Những thành phố này phải được đưa vào mà không đưa dữ liệu cho nhà cung cấp bản đồ.
  2. Có nhiều lớp khác nhau (chẳng hạn như vị trí của nhân viên) cũng phải được hiển thị, mà không cho nhà cung cấp bản đồ biết nơi tìm dữ liệu (nghĩa là dữ liệu sẽ ở phía sau tường lửa).

Phát triển hiện tại

Hiện tại, tôi chưa thể tìm thấy máy chủ đáp ứng yêu cầu của mình, vì vậy tôi đã làm theo hướng dẫn trên các trang web khác nhau để cài đặt máy chủ web Mapnik:

Tại thời điểm này, tôi có nhiều phần dữ liệu khác nhau:

  • Dữ liệu thành phố và đô thị (tệp hình dạng được tải vào PostGIS)
  • Dữ liệu Trái đất tự nhiên (tệp hình dạng; không được tải)
  • Biểu định kiểu Mapnik (các tệp khác nhau; không được tải)

Máy chủ địa lý

Tôi đã thử cài đặt GeoServer (trước Mapnik) nhưng thấy tài liệu còn thiếu, công cụ quản trị dựa trên web rất khó để định cấu hình và khả năng phản hồi trên máy 2 GHz bị chậm một cách khó khăn (10 giây để hiển thị một lát với lớp duy nhất: đường) và nhạt nhẽo thẩm mỹ mặc định. (Tôi biết rằng tôi có thể sử dụng biểu định kiểu để làm sinh động bản trình bày, nhưng điều đó có nghĩa là phải tìm [hoặc tạo !] Các tệp phù hợp, cài đặt chúng, kiểm tra chúng, v.v.)

Yêu cầu

Các yêu cầu kỹ thuật bao gồm:

  • Thành phố, con đường, những vùng nước (hồ, sông, đại dương)
  • Ranh giới chính trị (tỉnh, nước)
  • Chất lượng cao (tương tự trực quan với Google Maps, MapQuest, v.v.)
  • Thời gian hoạt động cao
  • Phép chiếu 900913 (tương tự Google Maps)
  • Gạch phản ứng (dưới 0,1 giây mỗi lát)
  • Bảo hiểm tuyệt vời của dữ liệu đường phố cho Canada
  • Hữu ích cho bản đồ slippy (tương thích với OpenLayers)
  • 10.000 yêu cầu gạch mỗi ngày
  • Miễn phí cho sử dụng thương mại (hoặc tư nhân), hoặc ít hơn $ 2000 mỗi năm?

Ví dụ tốt

Dưới đây là một ví dụ tuyệt vời (OpenLayers) về những gì tôi đang mong muốn đạt được:

Ví dụ xấu

Một ví dụ về những gì tôi không mong muốn đạt được:

Một ví dụ về dữ liệu không đầy đủ:

Liên kết liên quan

Câu hỏi

Máy chủ WMS, WMTS hoặc WFS nào cung cấp chức năng cần thiết?

Câu trả lời:


11

Tôi không chắc tại sao bạn lại loại trừ các dịch vụ như Google Maps, đặc biệt là vì lưu lượng truy cập dự kiến ​​của bạn không cao (Google bắt đầu tính phí sau 25.000 lượt xem bản đồ (lượt xem bản đồ của bạn sẽ thấp hơn 10.000): https://developers.google. com / maps / faq # used_pricing ). Những gì bạn cần về cơ bản là hai điều:

  1. Ai đó để cung cấp cho bạn bản đồ slippy Web. Đây có thể là Google Maps, Bing, MapQuest, Cloudcraft, v.v. Hoặc bạn có thể chạy máy chủ gạch của riêng mình và sử dụng dữ liệu OpenStreetMap.
  2. Hiển thị dữ liệu vectơ của riêng bạn ở phía máy khách (sử dụng javascript) trên bản đồ Web. Có một số thư viện mã nguồn mở có thể làm điều đó (OpenLayers, Leaflet, Polymaps ...).

Một số gợi ý để điều tra thêm:


8
Điều khoản dịch vụ của Google Maps cấm hiển thị bản đồ trên các máy chủ riêng (nghĩa là máy chủ phải được mở cho công chúng). developers.google.com/maps/terms ... "Việc triển khai API Bản đồ của bạn không được chỉ hoạt động trên mạng nội bộ." Vì vậy, quy tắc đó ra.
Dave Jarvis

Được rồi, cái đó có lý. Trong trường hợp đó, OSM là con đường để đi.
Igor Brejc


3

Openlayers với OpenStreetmap dường như là tùy chọn miễn phí tốt nhất của bạn, sau đó bạn sẽ thêm các lớp của mình bằng WMS (như Mapserver hoặc Geoserver). Bạn cũng có thể sử dụng google Maps với giấy phép.

Tôi có nhiều kinh nghiệm về điều này vì tôi đã phát triển một số trang web, một số từ đầu với các ô tùy chỉnh.

Tôi chưa làm việc với máy chủ địa lý nhưng với Mapserver. Bạn không thể mong đợi máy chủ hiển thị hàng triệu chi tiết tính năng theo thời gian thực. Tôi muốn nói rằng hiệu suất của những thứ này phải luôn được tăng cường bằng cách đơn giản hóa dữ liệu thành các mức độ chi tiết (theo tỷ lệ hoặc thu phóng) và có thể ghi dữ liệu cơ sở vào các ô.

Bây giờ tôi đang làm việc trên Bản đồ Mobnetics

Điều này sử dụng Openlayers, gạch OSM, postgreSQL và Java Cái hay của nó là nó thích nghi với bất kỳ dữ liệu GIS nào (bằng cách sử dụng siêu dữ liệu) và sau đó cho phép người dùng truy vấn dữ liệu. Nó đang được phát triển liên tục và tại thời điểm đó chỉ có dữ liệu bổ sung cho Bồ Đào Nha (như trường hợp thử nghiệm).

Điều tiếp theo tôi muốn làm là cung cấp cho khách hàng lưu trữ dữ liệu gis mà họ có thể thiết lập và cập nhật remotelly, để khách hàng có thể làm việc trên trang web như của chính họ.
Thật tuyệt khi có một khách hàng như bạn khi công ty của tôi phát triển trang web ..

Mặt khác, tôi cũng có thể thực hiện cài đặt tùy chỉnh trang web này trên máy chủ của bạn và duy trì trang này một cách cẩn thận. Chúng tôi đã làm điều này cho một số khách hàng.

trân trọng,

Joaquim Manyaxo


Có thể là một chút của một cú sút xa, nhưng bạn có biết id đi đâu để tìm hiểu thêm về việc thiết lập nó không?
Người dùng QGIS

1

Tôi nghĩ rằng từ nguồn mở đang được sử dụng khá tự do trong chủ đề này;)

Hai lựa chọn khác:


1
Cả hai lựa chọn này đều không phải là lựa chọn, vì câu hỏi dành cho các dịch vụ tư nhân miễn phí
Ryan Garnett

1

Tất nhiên, bạn có thể sử dụng một hệ thống GIS trả tiền. Tôi làm việc tại một hội đồng và chúng tôi sử dụng Exponare. Exponare là dễ dàng và hoạt động tốt, nhưng nó sẽ chi phí bạn.

ArcMap là thứ lạ mắt nhất, và đó là phần mềm Dekho làm những gì bạn muốn.

NẾU bạn muốn tự cuộn, hãy xem http://opengeo.org/ để biết toàn bộ ngăn xếp trong một mô hình được hỗ trợ.

Sự hiểu biết của tôi về việc tự làm là để làm như sau:

  1. Nhận dữ liệu của bạn trong cơ sở dữ liệu không gian, tức là PostGIS
  2. Chọn máy chủ gạch / vector của bạn (PostGIS, GeoServer) để xuất bản WFS / WMS
  3. Chọn giao diện web của bạn (GeoEXT, openlayers)

Bạn có thể cài đặt nhiều thứ này trên Windows với https://trac.osgeo.org/osgeo4w/ (gói được quản lý và tất cả). Tôi chắc chắn Ubuntu có các gói, nếu không chính thức thì trong PPA.


1

Các tùy chọn hoàn toàn miễn phí yêu cầu tích hợp một vài phần mềm và openstreetmap có liên kết đến phần mềm bằng dữ liệu miễn phí. Tôi khuyên bạn nên tìm đến API Mapbox và các công cụ như studio Mapbox, nó miễn phí cho việc sử dụng thấp và quy mô rất tốt, với thiết bị di động gốc, phản ứng tự nhiên, Ngoại tuyến cũng có khả năng, có thể sử dụng nó với Apis như Openlayers và tờ rơi. Các lưới lớp tương tác và kiểu dáng gạch vector là các tính năng độc đáo và mạnh mẽ của Mapbox, tuy nhiên nó không được định hướng theo WFS hoặc WMS, trong trường hợp đó cũng sử dụng Postgresql và Openlayers. Postgres có các chức năng Gml ngoài hộp vì vậy để sử dụng WFS chỉ cần thêm một số tiêu đề vào yêu cầu, tuy nhiên để triển khai toàn bộ Ogc, hãy sử dụng máy chủ địa lý hoặc Máy chủ bản đồ

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.