Tạo đa giác thời gian ổ đĩa bằng các công cụ Nguồn mở?


55

Có ai đang sử dụng các công cụ và / hoặc dữ liệu nguồn mở để tạo các đa giác thời gian ổ đĩa tỏa ra từ một vị trí nhất định không? Ví dụ: tôi đã sử dụng các sản phẩm ESRI như Nhà phân tích mạng và Nhà phân tích kinh doanh để tạo ranh giới đa giác thể hiện khoảng cách tối đa mà người ta có thể đi dọc theo mạng lưới đường từ một điểm nhất định trong khoảng thời gian do người dùng xác định (giả sử 5, 10 và / hoặc 15 phút). Có bất kỳ sự thay thế nguồn mở hoặc dựa trên web tương tự?

Tôi đã thấy bài đăng này, nhưng nó thực sự không cung cấp tùy chọn thay thế: Bạn có thể tạo đa giác vùng du lịch bằng API Google Maps không?

Tôi đặc biệt tò mò muốn biết liệu có ai (hoặc có thể) sử dụng OpenStreetMap để phân tích thời gian lái xe không?

Ngoài ra, có bất kỳ triển khai các tiện ích pgRouting nào có thể được sử dụng để tạo đa giác không? http://pgrouting.postlbs.org/


Quan tâm để xem câu trả lời cho điều này. Theo như tôi quan tâm, ESRI dẫn đầu các sản phẩm máy chủ nguồn mở, chủ yếu là vì nó phơi bày Geoprocessing trong một mô hình dễ phục vụ / tiêu thụ.
Simon

Bất kỳ cập nhật về câu hỏi này? Tôi thực sự quan tâm đến việc gây rối với một người tạo DT poly nguồn mở trong kịch bản bản đồ.
Furlong

Tôi chắc chắn không thể đưa ra câu trả lời vì tôi đã phải tạm dừng công việc của mình cho dự án này. Vì tôi không phải là một anh chàng "GRASS", có lẽ tôi sẽ không đi theo con đường đó, mặc dù có vẻ như đó là một giải pháp rất khả thi. Tuy nhiên, ngay bây giờ, tôi đang nghiêng về việc cố gắng sử dụng pgRouting, được cho là có các chức năng Alpha Shapes được tích hợp trong đó.
RyanDalton

Câu trả lời:


52

GRASS v.net.iso sẽ cho bạn một kết quả như thế này:

nhập mô tả hình ảnh ở đây

Bạn có thể không muốn chạy một thuật toán vỏ lồi trên đầu ra này. Hãy tưởng tượng những con đường màu xanh: Một thân tàu lồi xung quanh chúng sẽ chứa rất nhiều phần không thể tiếp cận được trong thời gian được biểu thị bằng "màu xanh".

Thay vào đó, bạn có thể muốn xem xét các hình dạng alpha (câu hỏi liên quan: Định nghĩa, Thuật toán và Giải pháp thực tế cho Hull lõm là gì? )

phác thảo hình dạng alpha

Bạn có thể tạo isochrones thời gian ổ đĩa bằng cách sử dụng pgRouting và QGIS ( như được mô tả ở đây ). Tôi đã không sử dụng OSM trong trường hợp này, nhưng tất nhiên bạn có thể xây dựng mạng có thể định tuyến của mình dựa trên OSM (xem công cụ osm2pgrouting ).

nhập mô tả hình ảnh ở đây

( độ phân giải đầy đủ )

Đối với giải pháp PostGIS thuần túy, bạn có thể sử dụng chức năng hình dạng alpha pgRouting . Dưới đây là so sánh các hình dạng alpha được triển khai trong pgRouting và cách tiếp cận tôi đã trình bày trong bản cập nhật trước:

nhập mô tả hình ảnh ở đây

Các vùng màu đại diện cho kết quả của chức năng hình dạng alpha, các đường màu đen là kết quả của phương pháp nội suy được mô tả trước đó. Các khu vực lưu vực ít chi tiết hơn bằng cách sử dụng các hình dạng alpha của pgRouting. Ngoài ra, dường như không có cách nào để thay đổi giá trị của alpha để tạo ra các biểu diễn chi tiết hơn.


2
+1 trên hình dạng alpha! Học điều mới mỗi ngày! Tôi biết thân tàu lồi không chính xác là giải pháp, nhưng không biết về những thứ này!
Darren đối đầu

1
Cảm ơn bạn rất nhiều vì đã đăng mô tả về điều này trên blog của bạn. Tôi chắc chắn có kế hoạch xem xét điều này sớm và xem liệu tôi có thể sao chép nó với dữ liệu của mình không. Nó trông tuyệt vời, mặc dù!
RyanDalton

10

GRASS 'v.net.iso có thể được sử dụng để tạo' mạng 'thời gian ổ đĩa mà bạn có thể chuyển vào lệnh' vỏ lồi 'để lấy đa giác. Có lẽ không lý tưởng, nhưng sẽ làm việc!


1
Haha - đánh tôi đi
om_henners

+1 cho v.net.iso, nhưng không chắc chắn về phần thân lồi - xem câu trả lời của tôi
underdark

9

Chà, có khả năng bạn có thể sử dụng v.net.iso từ GRASS GIS. Tuy nhiên, nó không tạo ra đa giác (AFAIK), nhưng phân chia các dòng theo các lớp chi phí từ nguồn.

Đối với việc tính toán thời gian ổ đĩa từ OSM, bạn có thể nhập dữ liệu vào GRASS với v.in.osm và sử dụng v.net.iso để tính toán các vùng chi phí. Nếu bạn muốn thời gian di chuyển và bạn không có giới hạn tốc độ đường, bạn có thể tính giới hạn tốc độ dựa trên một số chức năng của lớp đường.


7

Bạn có thể sử dụng GraphHopper cho nhiệm vụ đó, cũng hỗ trợ các chế độ khác nhau như đi bộ hoặc đi xe đạp và sử dụng OpenStreetMap theo mặc định. Bạn sẽ cần một số mã hóa Java khám phá mạng lưới đường từ điểm bắt đầu tương tự như cách thuật toán Dijkstra hoạt động nhưng sau đó bạn có thể nhận được một cái gì đó như sau ngay cả trong thời gian thực (<0,5s):

nhập mô tả hình ảnh ở đây

Mã sẽ thu thập các điểm mà bạn phải chuyển đổi thành đa giác với các công cụ JTS . Tốc độ chủ yếu phụ thuộc vào bước cuối cùng này. Nếu không có điều này, nó có thể dưới 0,5 giây ngay cả đối với khoảng cách lớn.

Một cách khác sẽ là với OpenTripPlanner .



5

Bạn có thể muốn kiểm tra API JavaScript Route360 ° mở , hoạt động với cả bản đồ Leaflet và Google. Nó trả về đa giác thời gian di chuyển cho các chế độ du lịch sau: đi bộ, xe đạp, xe hơi, quá cảnh.

Đa giác thời gian du lịch - NYC

Nó là miễn phí và nguồn mở và bảo hiểm là khá tốt. Bạn có thể tìm thấy rất nhiều hướng dẫn khác nhau về cách sử dụng nó trên trang web.


1
Phía máy khách là nguồn mở, nhưng phía máy chủ không IMO.
Karussell

2

Mặc dù không trả lời trực tiếp câu hỏi của bạn, bạn nên xem API Mapnificent .

Mapnificent cung cấp bản đồ thời gian di chuyển giao thông công cộng năng động cho nhiều thành phố ở Hoa Kỳ và một số nơi trên thế giới. Bạn có thể sử dụng API Mapnificent để tăng cường ứng dụng Google Maps của mình với lớp phủ thời gian di chuyển công cộng.

Hãy nhìn vào London ở đây . văn bản thay thế


mapnificent là nguồn mở?
Karussell

2

Tôi cũng vấp phải sự mở rộng Mạng của gvSIG , nhưng tài liệu cấu hình mà tôi đã tìm thấy cho đến nay là khá kém. Tôi có hy vọng cao cho nó, tôi chỉ cần tìm ra các chi tiết để tính toán chi phí.

Tôi đã sử dụng dữ liệu Điều tra dân số Hoa Kỳ cho mạng lưới đường bộ và thực sự đã tạo ra một số đa giác, nhưng không thể khiến các đơn vị chi phí thực sự có ý nghĩa. Nếu bất cứ ai đã thực hiện thành công công cụ này, tôi rất thích nghe về nó.

Tôi cũng đã tìm thấy Quantum Navigator cho QGIS, nhưng tôi không tìm thấy bất kỳ cập nhật nào gần đây.


2

Kết quả với cách tiếp cận thân tàu lõm là tuyệt vời và tôi đã lấy rất nhiều cảm hứng từ những hình ảnh trên. Nhưng tôi nhận thấy rằng kết quả có thể bao gồm một số khu vực không thể tiếp cận bằng đường bộ (ví dụ như dòng sông chẳng hạn). Không có nghi ngờ rằng đây không phải là một vấn đề về việc tìm kiếm các tính năng có liên quan (trung tâm dân số, số lượng nhà) theo khoảng cách hoặc thời gian từ nguồn gốc. Nhưng nó cũng chỉ hoạt động ở cuối mỗi liên kết. Một lần nữa, không phải là vấn đề trong phần lớn các trường hợp (vì các liên kết đường dài nhất có kiểm soát truy cập - bạn thường không thể thoát khỏi chúng cho đến khi bạn đến ngã ba / ngã tư tiếp theo).

Tuy nhiên, đối với tất cả điều đó, tôi đã làm việc theo một cách tiếp cận khác dựa trên các LIÊN KẾT được trả về bởi PGRouting / (hoặc thuật toán "Dijkstra" thô) được đặt hàng theo thời gian từ nút gốc. Nó tương đối đơn giản và phân loại các liên kết theo dải thời gian và cũng phân chia các liên kết vượt qua ranh giới thời gian. Sau đó, các liên kết với cùng phân loại (ví dụ 0-2 phút, 2-4 phút) được đệm 250 mét.


1

Tại WhereCampPDX năm nay, một số đại diện OpenStreetMap đã tuyên bố rằng việc sử dụng dữ liệu OSM để định tuyến là khá phổ biến ở châu Âu. Tuy nhiên, nó hiếm hơn ở Mỹ vì bản đồ thường không đủ tốt. Bạn có thể kiểm tra dịch vụ định tuyến dựa trên OSM tại:

http://openrouteservice.org/


1
Và, không định tuyến không giống với thời gian lái xe, nhưng nó có liên quan.
jvangeld

1
Đây là loại định tuyến nhưng "một đến tất cả" bị giới hạn bởi thời gian hoặc khoảng cách
Karussell

1
Dịch vụ này hoạt động tốt cho tôi. Tôi không có cơ hội kiểm tra độ chính xác, tuy nhiên nó cho phép tôi tìm thấy, ví dụ bán kính 1 giờ xung quanh một khu vực nhất định. Rất thuận tay nếu người ta phải di chuyển đến một khu vực không xác định để làm việc, v.v.
La Mã

1
Openrouteservice.org có tùy chọn xuất dữ liệu của chúng tôi sang GeoJSON. Sau đó, chúng tôi có thể chuyển đổi nó và hiển thị bản đồ isochrone của chúng tôi, ví dụ như trong Google Earth, Google Maps, v.v ... mkrgeo-blog.com/ Thẻ
Mariusz Krukar

Tuyệt vời. Openrouteservice có vẻ như nó đang hoạt động mạnh mẽ ở Hoa Kỳ.
jvangeld
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.