큰 GTFS 피드에서 작은 영역을 추출하는 방법은 무엇입니까?


11

더 큰 GTFS 피드에서 작은 영역 추출을 지원하는 도구가 있습니까? Google의 대중 교통 피드 라이브러리 에는 병합 도구가 있지만 내가 볼 수있는 한 추출 / 클립 도구는 없습니다. 내가 찾은 다른 라이브러리는 데이터를 읽고 플롯 할 수 있지만 조작을 지원하지는 않습니다.

배경 정보 : Transitfeed Feedvalidator에 GTFS 파일에 대한 많은 오류가 표시됩니다. 지역 품질을 평가하기 위해 관심 지역을 추출하고 싶습니다.


트위터의 추천은 GTFS 리더와 라이터가 모두있는 FME를 가리 켰습니다. 간단한 워크 플로는 GTFS 리더 (왼쪽 하단), Shapefile 리더 (상단 다각형, 관심 영역의 경우 왼쪽 상단), 클리퍼 및 출력용 GTFS 라이터 (현재 정지 및 쉐이프 파일 만 작성하지만 결국에는 ' 모든 파일을 원할 것입니다) :

여기에 이미지 설명을 입력하십시오

지금까지 문제는 출력 모양 내용 (주황색 점)에 관심있는 노란색 영역 내에있는 모든 입력 점 (녹색)이 포함되지 않는다는 것입니다.

여기에 이미지 설명을 입력하십시오

(데이터 출처 : https://transitfeeds.com/p/helsinki-regional-transport/735/latest/download )


"집합 만들기"= "아니오"를 사용하면 잘린 모양이 완성 된 것 같습니다

여기에 이미지 설명을 입력하십시오

그러나 정류장은 확실히 아닙니다

여기에 이미지 설명을 입력하십시오


위 예제에서 사용한 셰이프 파일과 작업 영역을 공유 할 수 있습니까? GTFS 데이터 자체를 공유 할 수 없다는 것을 알고 있습니다.
Ken Bragg

작업 공간의 빨간색 숫자는 클리핑 할 수없는 기능을 나타냅니다. 두 번 클릭하면 데이터 관리자에서 파일이 열리므로 내용을 볼 수 있습니다. 나는 그것들이 기하학이없는 특징이라고 생각합니다.
Ken Bragg

예, 그것들은 내가 말할 수있는 한 비 기하학 파일의 모든 기능입니다.
underdark

답변:


6

이것은 FME 2016에서 가능해야합니다. GTFS에 집계를 쓸 수 없기 때문에 클리핑 된 피처가 여러 조각으로 생성 될 때 FME가 집계를 생성하지 못하게하려면 클리퍼의 설정이 "Create Aggregates"= "No"가 필요합니다. 테스트 작업 공간 내가 여기에 있습니다 : https://www.dropbox.com/s/b02hd7shefybtmw/gtfs2gtfs.fmw?dl=0 여기 헬싱키 샘플 데이터를 기반으로 : https://t.co/wAZHmUS5HN 여기에 이미지 설명을 입력하십시오


고마워, 사무실에서 다시 해봐야 해 Btw, 자체적으로 좌표를 포함하지 않는 GTFS 파일 (예 : route.txt 및 trips.txt)도 클립하기에 충분한 "black magic"/ logic이 있습니까?
underdark

공간이 아닌 데이터 속성은 공식 참조 developers.google.com/transit/gtfs/reference를 사용하여 피처 머 또는 조인으로 조인 할 수 있지만 모든 헬싱키 데이터가 채워지는 것은 아니므로 조인이 완전히 작동하지 않습니다.
Mapperz

예. @Mapperz가 지적했듯이 FeatureMerger 변환기를 사용하여 클리핑되지 않은 형상을 비 공간적 특징과 결합해야합니다. 예를 들어, 여행은 FeatureMerger를 사용하여 shap_id에서 참여하여 찾은 다음 service_id에서 trip과 병합하여 일정 레코드를 찾을 수 있습니다. 나는 여기를 통해 일을 시작 : dropbox.com/s/b02hd7shefybtmw/gtfs2gtfs.fmw?dl=0
켄 브래그에게

1
문제가 보이고 해결책이 있다고 생각합니다. ;-) 헬싱키 샘플 데이터의 정류장에있는 parent_station 속성에 공백이 있지만 (사양에 허용 된대로) 공백 문자 인 것 같습니다. FME에서 정의한 데이터 유형을 충족하지 않습니다. 정수 또는 null을 시행합니다. 속성이 정수가 아닌 경우 속성을 널로 설정하기 위해 AttributeManager 변환기를 사용하여이를 수정할 수 있습니다. 여기에 스크린 샷을 참조하십시오 screencast.com/t/dvsWfoYe
켄 브래그

2
위의 방법으로도 도움이되지 않으면 Safe Software support ( safe.com/support )를 통해이 문제에 대해보다 밀접하게 협력 해 드리겠습니다 . 모든 사항을 해결할 때 여기에 요약을 게시 할 수 있습니다. 원한다면 여기에서 계속하십시오.
Ken Bragg

5

가장 가까운 지역에있는 경로를 알고 있으면 GTFS 변환기 가 훨씬 작은 GTFS를 제공 할 수 있습니다.

이렇게하면 유지 경로가 포함되지 않은 모든 여행, 모양, 정류장, 정류장 시간 및 캘린더가 제거됩니다.

route_id 1을 제거하고 route_id 3을 유지하려는 경우 변환 파일은 다음과 같습니다.

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

1
이상적이지는 않지만 최상의 솔루션이 될 수 있습니다. 설명을 바탕으로, Transformer는 유지 된 경로 정보 만 포함하도록 모든 관련 파일을 필터링한다고 가정합니다.
underdark

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.