이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 v.net.allocgrass 명령입니다.
프로그램:
이름
v.net.alloc - 가장 가까운 중심(중심에서 방향)에 대한 서브넷을 할당합니다.
중앙 노드를 열어야 합니다(비용 >= 0). 중앙 노드의 비용이 계산에 사용됩니다.
키워드
벡터, 네트워크, 비용 할당
개요
v.net.alloc
v.net.alloc --도움
v.net.alloc [-g] 입력=name 출력=name [arc_layer=현]
[arc_type=현[,현,...]] [노드 레이어=현] [arc_column=현]
[arc_backward_column=현] [node_column=현] center_cats=범위 [--덮어 쓰기]
[--도움] [--말 수가 많은] [--조용한] [--ui]
플래그 :
-g
경도-위도 위치에 대한 측지 계산 사용
--덮어쓰기
출력 파일이 기존 파일을 덮어쓰도록 허용
--도움
사용 요약 인쇄
--말 수가 많은
자세한 모듈 출력
--조용한
조용한 모듈 출력
--UI
강제 실행 GUI 대화 상자
매개 변수 :
입력=name [필수의]
입력 벡터 맵의 이름
또는 직접 OGR 액세스를 위한 데이터 소스
출력=name [필수의]
출력 벡터 맵의 이름
arc_layer=현
호 레이어
벡터 피처는 다른 레이어에 카테고리 값을 가질 수 있습니다. 이 숫자가 결정합니다
사용할 레이어. 직접 OGR 액세스와 함께 사용할 때 이것은 레이어 이름입니다.
태만: 1
arc_type=문자열[,문자열,...]
아크 유형
옵션 : 선, 경계
태만: 선, 경계
노드 레이어=현
노드 레이어
벡터 피처는 다른 레이어에 카테고리 값을 가질 수 있습니다. 이 숫자가 결정합니다
사용할 레이어. 직접 OGR 액세스와 함께 사용할 때 이것은 레이어 이름입니다.
태만: 2
arc_column=현
호 정방향/양방향 비용 열(숫자)
arc_backward_column=현
호 역방향 비용 열(숫자)
node_column=현
노드 비용 열(숫자)
center_cats=범위 [필수의]
카테고리 값
네트가 할당될 중심(노드의 점) 카테고리, 이에 대한 레이어
카테고리는 nlayer 옵션으로 제공됩니다.
기술
v.net.alloc 가장 가까운 중심(중심에서 방향)에 서브넷을 할당합니다. 중심 노드
열어야 합니다(비용 >= 0). 중앙 노드의 비용이 계산에 사용됩니다.
비용은 라인 길이이거나 데이터베이스 테이블에 저장된 속성일 수 있습니다. 이러한 속성
값은 길이 단위를 통과하는 비용이 아니라 전체 세그먼트의 비용으로 간주됩니다(예:
미터) 세그먼트의 예를 들어 제한 속도가 100km/h인 경우 횡단 비용은 다음과 같습니다.
10km 길이의 도로 구간은 다음과 같이 계산되어야 합니다.
길이 / 속도 = 10km / (100km/h) = 0.1h.
호와 노드 모두에 대한 비용 할당과 둘 다에 대한 서로 다른 비용이 지원됩니다.
벡터선의 방향. 면적의 경우 비용은 경계선을 따라 계산됩니다.
입력 벡터는 다음과 같이 준비해야 합니다. v.net 작업=연결 연결하기 위해
네트워크에 대한 중심 노드를 나타내는 점.
노트
비용 = -1을 사용하여 노드와 호를 닫을 수 있습니다.
다음을 사용하여 중앙 노드를 벡터 노드에 할당할 수도 있습니다. wxGUI 벡터 디지타이저.
사용 예
1. 거리를 이용한 서브네트워크 할당:
2. 이동 시간을 활용한 하위 네트워크 할당:
예 1 : 계산 중 서브넷 을 통한 3 센터 노드 사용 거리
# 스피어피쉬
# 중앙 노드:
에코 "591235.5|4926306.62|1
596591.8 | 4917042.5 | 2
602722.9|4923544.2|3" | v.in.ascii in=- out=centernodes
g.copy vect=도로,내 도로
# 포인트를 네트워크에 연결
v.net myroads points=centernodes out=myroads_net op=connect thresh=200
# 중앙 고양이의 범위를 지정하여 할당합니다(모두 잡기가 더 쉽습니다):
v.net.alloc myroads_net out=myroads_net_alloc center_cats=1-100000 node_layer=2
# 보고서 카테고리
v.category myroads_net_alloc 옵션=보고서
결과를 표시하려면 다음 예를 실행하십시오.
# 결과 표시
g.지역 벡터=myroads_net
디몬 x0
d.vect myroads_net 레이어=1
# 결과는 관련 노드의 카테고리 번호로 선택되어야 합니다:
d.vect myroads_net_alloc cat=1 col=빨간색 레이어=1
d.vect myroads_net_alloc cat=2 col=녹색 레이어=1
d.vect myroads_net_alloc cat=3 col=노란색 레이어=1
# 중앙 노드
d.vect myroads_net col=빨간색 아이콘=기본/삼각형 fcol=녹색 크기=12 레이어=2
예 2 : 계산 중 서브넷 을 통한 3 센터 노드 사용 여행 시간
# 스피어피쉬
# 중앙 노드:
에코 "591235.5|4926306.62|1
596591.8 | 4917042.5 | 2
602722.9|4923544.2|3" | v.in.ascii in=- out=centernodes
g.copy vect=도로,내 도로
# 점을 네트워크에 연결하는 선 지도를 만듭니다.
v.net myroads points=centernodes out=myroads_net op=connect thresh=500 arc_layer=1 node_layer=2
# 비용 설정
# 레이어 3의 각 도로에 대해 고유한 범주를 만듭니다.
v.category in=myroads_net out=myroads_net_time opt=cat=1 레이어=3 유형=라인 추가
# 레이어 3에 대한 새 테이블 추가
v.db.addtable myroads_net_time layer=3 col="cat 정수,레이블 varchar(43), 길이 배정밀도, 속도 배정밀도, 비용 배정밀도, b비용 배정밀도"
# 레이어 3에 도로 유형 복사
v.to.db myroads_net_time 레이어=3 qlayer=1 opt=쿼리 qcolumn=레이블 열=라벨
# 도로 길이를 마일 단위로 업로드
v.to.db myroads_net_time 레이어=3 유형=라인 옵션=길이 열=길이 단위=마일
# 마일/시간 단위로 속도 제한 설정
v.db.update myroads_net_time layer=3 col=speed val="5.0"
v.db.update myroads_net_time layer=3 col=speed val="75.0" where="label='interstate'"
v.db.update myroads_net_time layer=3 col=speed val="75.0" where="label='primary Highway, hard surface'"
v.db.update myroads_net_time layer=3 col=speed val="50.0" where="label='보조 고속도로, 딱딱한 노면'"
v.db.update myroads_net_time layer=3 col=speed val="25.0" where="label='경량 도로, 개선된 노면'"
v.db.update myroads_net_time layer=3 col=speed val="5.0" where="label='개선되지 않은 도로'"
# 이동 비용을 이동 시간(분)으로 정의:
# 앞으로 비용 설정
v.db.update myroads_net_time layer=3 col=cost val="길이 / 속도 * 60"
# 후방 비용 설정
v.db.update myroads_net_time layer=3 col=bcost val="길이 / 속도 * 60"
# 가장 빠른 경로를 가진 하위 네트워크 할당
v.net.alloc in=myroads_net_time arc_layer=3 node_layer=2 arc_column=비용 arc_backward_column=bcost out=myroads_net_alloc_time center_cats=1-3
결과를 표시하려면 다음 예를 실행하십시오.
# 결과 표시
g.지역 벡터=myroads_net
디몬 x0
d.vect myroads_net 유형=라인 레이어=1
# 결과는 관련 노드의 카테고리 번호로 선택되어야 합니다:
d.vect myroads_net_alloc_time cat=1 col=빨간색 레이어=1
d.vect myroads_net_alloc_time cat=2 col=녹색 레이어=1
d.vect myroads_net_alloc_time cat=3 col=노란색 레이어=1
# 중앙 노드
d.vect myroads_net_time col=빨간색 아이콘=기본/삼각형 fcol=녹색 크기=12 유형=포인트 레이어=2
onworks.net 서비스를 사용하여 v.net.allocgrass를 온라인으로 사용하세요.