Tạo bản đồ nhiệt độ dựa trên polyline trực tiếp từ các bản nhạc GPS?


30

Mùa đông này, tôi đang lên kế hoạch theo dõi trượt tuyết xuống dốc / trượt tuyết bằng GPS. Hầu hết các chuyến đi của tôi sẽ xảy ra tại cùng một khu nghỉ mát. Tôi muốn có thể tạo ra một loại "bản đồ nhiệt" cho thấy số lần chạy mà tôi đã thực hiện trong một khu vực nhất định. Khi tôi thêm ngày càng nhiều dấu vết GPS vào cơ sở dữ liệu của mình, mục tiêu của tôi sẽ là xem một loại bản đồ nhiệt tuyến tính của các khu vực được di chuyển nhiều nhất. Với bản chất của trượt tuyết xuống dốc, bạn sẽ mong đợi các dòng ghế nâng lên dốc sẽ là "nóng nhất" bởi vì đây sẽ là nơi duy nhất được ghé thăm nhiều lần.

Cho rằng 1) bản nhạc của tôi sẽ không giống nhau mỗi lần và 2) khu vực được bao phủ bởi một lần "chạy" có thể rộng vài trăm feet, cách tốt nhất để phân tích dữ liệu "tuyến tính" này để tạo ra một loại của bản đồ nhiệt? Suy nghĩ của tôi là đệm các dòng, sau đó giao nhau với các polys để có được một loại Sơ đồ Venn. Sở thích của tôi là sử dụng các công nghệ nguồn mở. Tôi đã tải QGIS và PostGIS.

CẬP NHẬT : Liên quan đến phản hồi của @ blah238, tôi đã nghĩ đến thứ gì đó có thể "thu thập" số lượng đường chuyền ("chạy") qua một khu vực, và sau đó tượng trưng cho số đếm. Về mặt khái niệm, điều này sẽ tương tự như " Thu thập các sự kiện " của ArcGIS (nhưng đối với các dòng, không phải các điểm) hoặc Thu gọn các dòng kép thành đường trung tâm (nhưng đối với nhiều dòng trong cùng một khu vực).

Một ví dụ trực quan hơn về một khái niệm tương tự có thể là bản đồ lưu lượng giao thông, trong đó các khu vực tắc nghẽn cao sẽ tương đương với các khu vực / đường trượt tuyết "đi lại nhiều":

Bản đồ giao thông Google

Tôi đã đọc những câu hỏi sau đây có thể đưa ra một số ý tưởng, nhưng chúng không thực sự giải quyết những gì tôi đang cố gắng thực hiện:

Các quỹ đạo phân cụm (dữ liệu GPS của (x, y) điểm) và Khai thác dữ liệu

Quản lý lỗi với các tuyến GPS (khung lý thuyết?)


Giả sử rằng bạn sẽ sử dụng dữ liệu GPX, thì chỉ nên đọc các khoảng thời gian trễ / dài, vì vậy nó sẽ có trong các tính năng điểm. Bạn sẽ không thể sử dụng bản đồ nhiệt trên đó chứ? Hoặc bạn không sử dụng thiết bị tương thích GPX ??
RomaH

À, ờ. Tôi đọc sai những gì bạn muốn .. Nevermind.
RomaH

@RomaH, thực sự, bạn rất có thể dựa vào ý tưởng của bạn về việc sử dụng các điểm để tạo bản đồ nhiệt thay vì sử dụng các dòng. Tôi đã không cân nhắc sử dụng các điểm nguồn trước đây, vì vậy đây là điều tôi chắc chắn sẽ điều tra.
RyanDalton

Bạn đang làm việc với một lĩnh vực, trong đó như một đường phố có các cạnh được xác định rõ. Nếu bạn muốn thực hiện một mô hình dòng, bạn có thể thực hiện một số lớp phủ poly, tham gia và sử dụng plugin point2one để tạo bản đồ dòng với các giá trị được kế thừa. Nhưng sau đó, bạn cần phải quyết định người ta cần phải trượt tuyết bao xa để biện minh cho một tính năng dòng mới. Cá nhân đối với tôi tôi sẽ hài lòng với một giải pháp bản đồ nhiệt, nhưng một lần nữa, tôi không nhận thức được nhu cầu của bạn.
RomaH

Tôi tình cờ phát hiện ra câu hỏi này , đây là một cách rất hay để thực hiện điều tương tự, nhưng sử dụng Điểm theo dõi GPS để tạo bản đồ nhiệt.
RyanDalton

Câu trả lời:


17

Tôi đã thực hiện một chút công việc này trong GeoTools / GeoServer bằng cách mở rộng Chuyển đổi kết xuất bản đồ nhiệt để hỗ trợ hình học ngoài các điểm.

Pizza giao hàng nhiệt

Vẫn chưa kết thúc, nhưng bạn có thể lấy nhánh tính năng từ kho lưu trữ của tôi trên GitHub .

Ảnh chụp màn hình là các bản nhạc GPS từ khi tôi làm tài xế giao bánh pizza.


Nó vẫn không xuất ra hình học vector, nhưng nó đang thu thập chồng chéo để mang lại giá trị cao hơn.
smithkm

Bất kỳ ý tưởng làm thế nào để có được hiệu ứng này chỉ với postgis? hay qgis?
chrismarx

15

Đây là một hướng dẫn tốt để thực hiện chính xác điều đó bằng cách sử dụng MapBoxTileMill :

Ảnh chụp màn hình


1
Đồng ý, khái niệm này gần như giống hệt nhau và có thể dễ dàng thực hiện trong bất kỳ hệ thống GIS nào. Nhưng điều này về cơ bản là gợi ý "chỉ cần làm cho tất cả các bản nhạc của bạn có màu đỏ với bộ đệm màu xanh nhạt" và chúng sẽ nổi bật trên bản đồ? Đối với hiệu ứng hình ảnh, tôi chắc chắn sẽ làm việc. Tôi đoán ban đầu tôi đã nghĩ đến việc thử một thứ gì đó "phân tích" hơn có thể hiển thị "số đếm" của "chạy" trong ví dụ này. Tôi sẽ tiếp tục nghiền ngẫm nó.
RyanDalton

@ blah238 Tôi đã tìm ví dụ tương tự ... cảm ơn rất nhiều !!
Sunil

1
@ blah238, Sau khi suy nghĩ về nó lâu hơn một chút, bạn đã cung cấp một câu trả lời rất hợp lệ cho câu hỏi ban đầu của tôi. Tôi nên rõ ràng hơn về suy nghĩ của tôi. Cảm ơn câu trả lời của bạn, và tôi đã cập nhật câu hỏi của mình để phản ánh chính xác hơn những gì tôi đang cố gắng đạt được. Tôi đánh giá cao sự giúp đỡ.
RyanDalton

5

đây là cách tiếp cận đơn giản của tôi:

  1. tạo một bản đồ mới trong umap: http://umap.openstreetmap.fr/en
  2. nhấp vào Nhập dữ liệu a chọn tất cả các tệp gpx bạn có và tải chúng lên bản đồ (bạn có thể nhập tất cả chúng cùng một lúc)
  3. nhập Chỉnh sửa cài đặt bản đồ> Thuộc tính mặc định, chọn độ mờ 0,25, trọng số 10.

Ba bước trên sẽ mất 5 phút và đây là kết quả: nhập mô tả hình ảnh ở đây


3

Đây là cách tiếp cận của tôi trên QGIS. Đây là một tập hợp các tuyến xe buýt và tôi muốn xác định những con đường nào có mật độ lớn nhất của các tuyến xe buýt đi qua.

  • Đã sử dụng plugin Qchainage để chuyển đổi các dòng của tôi thành điểm. Đã thử nghiệm các kịch bản khác nhau cho đến khi tôi tạo ra rất nhiều điểm trên mỗi dòng (1.500 mỗi dòng và các dòng là khoảng 9km).
  • Áp dụng kết xuất ký hiệu bản đồ nhiệt mà Qgis đã tích hợp trong tab kiểu. thuộc tính lớp> phong cách> bản đồ nhiệt
  • Chơi với bán kính và giá trị tối đa. Đảm bảo chọn chất lượng kết xuất tốt nhất.
  • Tạo một đoạn màu mới (chọn liên tục) bắt đầu từ màu đen và bất kỳ màu sáng nào khác ở phía bên kia.

Và Voila.

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


2

Tôi nhận ra đây là một bài viết khá cũ, tuy nhiên, tôi đã bắt gặp nó thực hiện nghiên cứu tương tự. Tôi đã phát triển một mô hình / luồng công việc khá đơn giản có thể thực hiện được điều này trong ArcGIS (có thể là QGIS, nhưng tôi chưa thực hiện nó ở đó).

Nếu bạn có tệp GPX hoặc TCX cụ thể (bất kỳ tệp điểm nào cũng hoạt động), đơn giản là nó có thể được mở trong Excel, sau đó được chuyển đổi thành CSV và đưa vào ArcGIS. Sử dụng Points to Linecông cụ, bạn chuyển đổi các điểm GPS từ CSV, thành các quỹ đạo bằng cách sắp xếp các điểm theo thời gian (bạn cũng có thể nhóm chúng bằng một mã định danh duy nhất, trong trường hợp này có thể là theo khu nghỉ mát, tuyến đường hoặc ngày cụ thể của sự kiện - ví dụ: Ngày 1, 2, v.v.). Điều này sẽ tạo một lớp polyline duy nhất (trừ khi bạn nhóm chúng theo ID duy nhất). Sau đó, bạn sử dụng Split Line at Verticescông cụ tạo các phân đoạn dòng giữa mỗi điểm liên tiếp. Từ đó, bạn sử dụng Line Densitycông cụ đếm số lượng dòng đi qua một ô được cung cấp một kích thước ô và bán kính tìm kiếm cụ thể và xuất ra một raster. Raster này có thể được tượng trưng như một bản đồ nhiệt.

Tôi có, và tiếp tục thực hiện điều này thường xuyên, và bao gồm một kết quả mẫu bên dưới:

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


Trông giống như một kỹ thuật thực sự thú vị. Tôi chưa bao giờ hoàn thành ý tưởng này, vì vậy tôi sẽ điều tra thêm. Cảm ơn đã trả lời một câu hỏi cũ!
RyanDalton

Không vấn đề gì! Đây là một mô hình khá đơn giản chỉ sử dụng ba công cụ đó từ Arc Toolbox. Thay phiên, bạn có thể đơn giản hóa nó hơn nữa thành hai công cụ chỉ bằng cách sử dụng Track Intervals to Linevà các Line Densitycông cụ
andrew-ryan

1

Việc sử dụng của chúng tôi liên quan đến việc định tuyến học sinh đến trường của họ bằng PGRouting.

Kết quả của một tuyến riêng lẻ nằm ở lõi của chúng một tập hợp các nút (được biến thành các đường bằng cách tùy ý nối các cạnh liên quan).

Nếu bạn định tuyến nhiều học sinh đến một trường, bộ sưu tập các nút đầu ra có thể được hiển thị trong QGIS bằng trình kết xuất bản đồ nhiệt, hiển thị 'điểm nóng' của các tuyến đã thu thập đến trường (xem bên dưới).

Những bản đồ này được sử dụng để thông báo cho các khu vực cần được nhắm mục tiêu cho cơ sở hạ tầng an toàn hơn nữa như giao cắt, tín hiệu, biển báo, v.v.

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


Cảm ơn chia sẻ cho hình ảnh, tôi thích nó. Tôi sẽ thử xử lý các đỉnh GPX thay vì các dòng để xem các điểm nóng có hoạt động trong phạm vi nhỏ hay không
RyanDalton

0

Tạo một lưới lưới, chuyển đổi gpsdata thành shapefiles, đa giác hóa các dòng, trích xuất dữ liệu điểm x, y từ các bảng, tạo mật độ bề mặt hoặc bản đồ nhiệt bằng cách sử dụng tiêu chuẩn tại điểm này. Sau đó, bạn có thể hợp nhất với dữ liệu vectơ tuyến tính để có được các giá trị pixel trong màn hình raster hoặc để xử lý số tiếp theo.


0

Hầu hết mọi người (bao gồm cả tôi) nhìn vào tệp GPX và nghĩ về nó như một chuỗi các vị trí (điểm), trong khi nó có thể được xem hoàn hảo như một chuỗi các phân đoạn dòng thay thế.

Công thức vấn đề của bạn liên quan đến "bản đồ nhiệt" để bạn có thể kiểm tra trực quan quỹ đạo của mình, do đó, có một cách khá đơn giản để bỏ qua phần bấm số phức tạp bằng cách ủy quyền trực tiếp cho động cơ vẽ.

Khi bạn nói "đệm các dòng", đó sẽ là độ dày của dòng. Khi bạn nói "thu thập các đường chuyền" có nghĩa là âm mưu lặp đi lặp lại với các đường trong suốt , do đó "xây dựng" ngày càng nhiều màu sắc.

Vì vậy, tôi khuyên bạn nên vẽ mỗi quỹ đạo thành một đa tuyến đơn có độ dày đủ để có một số chồng lấp (nó phụ thuộc vào thu phóng, vì vậy bạn sẽ muốn đặt độ dày trong khoảng cách bản đồ thay vì pixel) và với độ mờ khá thấp , nói, 0,05, màu đen.

Điều quan trọng là không vẽ từng phân đoạn, bởi vì nếu bạn làm như vậy, các điểm cực trị của chúng sẽ chồng chéo lên nhau, nhân đôi độ mờ đục của chúng và tạo ra một "chấm" màu mạnh hơn.

Cuối cùng, bạn sẽ nhận được một hình ảnh thang độ xám mà trên đó bạn có thể áp dụng bản đồ màu mà bạn chọn.

Tôi có thể sẽ làm điều đó bằng Python / Cairo, nhưng Python / Matplotlib sẽ làm được, và Html / Canvas hoặc Html / SVG (hoặc SVG lập trình) chắc chắn sẽ làm được.

Kết quả cuối cùng sẽ chỉ phụ thuộc vào độ phân giải của phương tiện đầu ra của bạn.


0

Tôi biết rằng đây là một câu hỏi khá cũ, nhưng vì bài đăng này là một trong những kết quả tìm kiếm hàng đầu cho chủ đề này, tôi nghĩ rằng tôi đã đăng một liên kết đến quy trình sản xuất bản đồ nhiệt đa tuyến trong ArcGIS để trả lời câu hỏi này, vì hiện tại không có giải pháp nào cho ArcGIS trong bài viết này.

https://luke-webber.github.io/polyline-heatmap/

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.