Làm cách nào để trích xuất một vùng nhỏ từ nguồn cấp GTFS lớn?


11

Có công cụ nào hỗ trợ trích xuất một vùng nhỏ từ nguồn cấp GTFS lớn hơn không? Thư viện Transitfeed của Google chứa công cụ Hợp nhất nhưng không có công cụ Trích xuất / Clip, theo như tôi có thể thấy. Các thư viện khác mà tôi tìm thấy chỉ có thể đọc và vẽ dữ liệu nhưng không hỗ trợ thao tác.

Thông tin cơ bản: Bộ cấp dữ liệu Feedfeed Feed hiển thị rất nhiều lỗi cho tệp GTFS của tôi. Tôi muốn trích xuất khu vực quan tâm của mình để đánh giá chất lượng địa phương.


Các khuyến nghị trên Twitter đã chỉ cho tôi FME có cả trình đọc GTFS và trình ghi. Quy trình làm việc đơn giản của tôi bao gồm một trình đọc GTFS (dưới cùng bên trái), trình đọc Shapefile (trên cùng bên trái, cho khu vực đa giác quan tâm), một clipper và trình ghi GTFS cho đầu ra (hiện tại chỉ viết các điểm dừng và định hình các tệp nhưng cuối cùng tôi ' sẽ muốn tất cả các tập tin):

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

Vấn đề cho đến nay là nội dung hình dạng đầu ra (điểm màu cam) không chứa tất cả các điểm đầu vào (màu xanh lá cây) nằm trong vùng màu vàng quan tâm:

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

(Nguồn dữ liệu: https://transitfeed.com/p/helsinki-regional-transport/735/latest/d Download)


Sử dụng "Tạo tổng hợp" = "Không", các hình được cắt có vẻ hoàn chỉnh

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

nhưng điểm dừng chắc chắn là không

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


Có thể chia sẻ tệp hình dạng và không gian làm việc bạn đã sử dụng trong ví dụ trên không? Tôi nhận ra rằng bạn không thể chia sẻ dữ liệu GTFS.
Ken Bragg

Các số màu đỏ trong không gian làm việc biểu thị các tính năng không thể cắt bớt. Nhấp đúp vào nó sẽ mở chúng trong trình kiểm tra dữ liệu để bạn có thể thấy chúng là gì. Tôi đoán chúng là những tính năng không có hình học.
Ken Bragg

Vâng, đó là tất cả các tính năng từ các tệp phi hình học, theo như tôi có thể nói.
underdark

Câu trả lời:


6

Điều này có thể có trong FME 2016. Vì chúng tôi không thể ghi tổng hợp vào GTFS, nên cần có cài đặt trong Clip "Tạo tập hợp" = "Không" để ngăn FME tạo tập hợp khi tính năng bị cắt xén thành nhiều phần. Không gian làm việc tôi đã thử nghiệm ở đây: https://www.dropbox.com/s/b02hd7shefybtmw/gtfs2gtfs.fmw?dl=0 Dựa trên dữ liệu mẫu của Helsinki tại đây: https://t.co/wAZHmUS5HN nhập mô tả hình ảnh ở đây


Cảm ơn bạn, tôi sẽ phải thử lại tại văn phòng. Btw, có đủ "ma thuật đen" / logic để có các tệp GTFS không tự chứa tọa độ (ví dụ: Rout.txt và trip.txt) không?
underdark

Bạn có thể tham gia các thuộc tính dữ liệu không phải không gian với một featuremerger hoặc tham gia với nhà phát triển tham khảo chính thức.google.com/transit/gtfs/reference nhưng không phải tất cả dữ liệu Helsinki được điền nên tham gia sẽ không hoạt động đầy đủ.
Mapperz

Có như @Mapperz chỉ ra rằng chúng ta cần sử dụng biến áp FeatureMerger để tham gia các hình học được cắt bớt với các tính năng không phải không gian. Ví dụ: các chuyến đi có thể được tìm thấy bằng cách sử dụng FeatureMerger để tham gia trên shap_id và sau đó có thể tìm thấy các bản ghi lịch bằng cách hợp nhất với chuyến đi trên service_id. Tôi đã bắt đầu làm việc thông qua đây: dropbox.com/s/b02hd7shefybtmw/gtfs2gtfs.fmw?dl=0
Ken Bragg

1
Tôi thấy vấn đề và tôi nghĩ giải pháp ;-) Thuộc tính Parent_station trên các điểm dừng trong dữ liệu mẫu Helsinki có một số khoảng trống (như được cho phép trong đặc tả) nhưng chúng có vẻ là các ký tự khoảng trắng nên FME sẽ không viết chúng vì chúng không không đáp ứng kiểu dữ liệu theo định nghĩa của FME. Chúng tôi đang thực thi số nguyên hoặc null. Bạn có thể sửa lỗi này bằng biến áp AttributionManager để đặt thuộc tính thành null nếu nó không phải là số nguyên. Xem ảnh chụp màn hình tại đây: screencast.com/t/dvsWfoYe
Ken Bragg

2
Nếu những điều trên không giúp chúng tôi vui lòng hợp tác chặt chẽ hơn với bạn về vấn đề này thông qua hỗ trợ Phần mềm An toàn ( safe.com/support ) và chúng tôi có thể đăng tóm tắt tại đây khi chúng tôi giải quyết mọi thứ. Hoặc tiếp tục ở đây nếu bạn thích.
Ken Bragg

5

Nếu bạn biết các tuyến đường nằm trong khu vực xa nhất của mình, GTFS Transformer có thể cung cấp cho bạn một GTFS nhỏ hơn nhiều.

Khi làm như vậy, nó sẽ loại bỏ tất cả các chuyến đi, hình dạng, điểm dừng, điểm dừng và lịch không bao gồm các tuyến đường được giữ lại.

Nếu bạn muốn xóa route_id 1 và giữ route_id 3, tệp biến đổi của bạn sẽ trông giống như:

{"op":"retain","match":{"file":"routes.txt","route_id":"1"}}
{"op":"remove","match":{"file":"routes.txt","route_id":"3"}}

1
Mặc dù không lý tưởng, nhưng cuối cùng có thể là giải pháp tốt nhất hiện có. Dựa trên mô tả, tôi giả sử rằng Transformer cũng lọc tất cả các tệp liên quan để chỉ chứa thông tin của các tuyến đường được giữ lại.
underdark

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.