Halaman ini menjelaskan cara membuat rute dan menambahkan atribut kustom menggunakan Roads Selection API di bagian berikut:
- Membuat rute: Menentukan satu rute menggunakan
createendpoint. - Membuat rute secara massal: Menentukan beberapa rute dalam satu
permintaan menggunakan endpoint
batchCreate. - Membuat rute dengan waypoint perantara: Menentukan rute dengan maksimal 25 waypoint perantara.
- Menggunakan atribut rute kustom: Menambahkan maksimal 10 pasangan nilai kunci kustom ke rute Anda untuk tujuan organisasi.
Membuat rute
Untuk membuat rute, kirim permintaan POST ke endpoint create.
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID
Isi permintaan harus berupa objek JSON yang menentukan SelectedRoute
resource. Objek ini menentukan informasi berikut:
- Objek
dynamicRoutedengan informasi berikut:- The
originrute yang dipilih. - The
destinationrute yang dipilih. - Setiap
intermediates, yang juga dikenal sebagai waypoint, dari rute.
- The
selectedRouteIdunik. Nilai ini harus memiliki panjang antara 4 hingga 63 karakter dan hanya menggunakan karakter alfanumerik. Jika Anda tidak memberikan ID, sistem akan membuat ID unik untuk rute yang dipilih.
Contoh kode berikut menunjukkan struktur permintaan POST ke endpoint
create.
curl -X POST -d '
{
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
}
}' \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://roads.googleapis.com/selection/v1/projects/"\
"PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"Jika berhasil, API akan menampilkan SelectedRoute resource. Respons
mencakup selectedRouteId di kolom name field. Anda dapat menggunakan ini
selectedRouteId untuk mengambil atau menghapus resource SelectedRoute.
Contoh kode berikut menunjukkan struktur respons
create
endpoint yang berhasil.
{
"name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID",
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
},
"createTime": "CREATE_TIME",
"state": "STATE_VALIDATING"
}
Membuat rute dengan waypoint perantara
Untuk membuat rute yang melewati titik tertentu antara asal dan
tujuan, sertakan intermediates array dalam
dynamicRoute objek di isi permintaan Anda. Setiap elemen dalam array
intermediates adalah waypoint yang ditentukan oleh latitude dan
longitude, dan rute dapat memiliki maksimal 25 waypoint.
Contoh kode berikut menunjukkan cara membuat SelectedRoute dengan
waypoint perantara:
curl -X POST -d '
{
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"intermediates": [
{"latitude": INTERMEDIATE_LATITUDE_1, "longitude": INTERMEDIATE_LONGITUDE_1},
{"latitude": INTERMEDIATE_LATITUDE_2, "longitude": INTERMEDIATE_LONGITUDE_2},
{"latitude": INTERMEDIATE_LATITUDE_3, "longitude": INTERMEDIATE_LONGITUDE_3}
],
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
}
}' \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://roads.googleapis.com/selection/v1/projects/"\
"PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"Menggunakan atribut rute kustom
Untuk meningkatkan pengelolaan rute dan analisis data dalam Analisis Pengelolaan Jalan Raya, objek SelectedRoute menyertakan kolom routeAttributes.
Gunakan kolom routeAttributes untuk menentukan properti kustom Anda sendiri untuk
setiap rute, dengan setiap atribut adalah pasangan nilai kunci. Anda dapat memberikan maksimal 25 pasangan nilai kunci kustom per rute.
Atribut ini berguna untuk mengidentifikasi rute tertentu atau untuk mengelompokkan rute berdasarkan kriteria yang relevan dengan kebutuhan Anda.
Berikut beberapa contoh atribut rute yang dapat Anda gunakan:
"road_classification": "highway""maintenance_zone": "north_district""event_id": "marathon_2024""pavement_type": "asphalt"
Ikuti panduan berikutnya saat menentukan kolom routeAttributes:
- Kunci tidak boleh diawali dengan awalan
goog. - Panjang setiap kunci dan setiap nilai tidak boleh melebihi 100 karakter.
Selanjutnya, Anda dapat menggunakan routeAttributes kustom ini dalam Analisis Pengelolaan Jalan Raya dengan cara berikut:
- Memfilter notifikasi Pub/Sub: Anda dapat menetapkan filter pada langganan Pub/Sub untuk menerima update hanya untuk rute yang cocok atau tidak cocok dengan kunci atribut tertentu dan nilai yang sesuai.
- Memperbaiki analisis BigQuery: Di tabel BigQuery, Anda dapat menggunakan atribut ini untuk memfilter rute tertentu berdasarkan nilai atribut. Anda juga dapat mengelompokkan rute berdasarkan kunci atribut tertentu untuk analisis data yang lebih ditargetkan.
Contoh kode berikutnya menunjukkan cara membuat SelectedRoute dengan custom
routeAttributes.
curl -X POST -d '
{
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
},
"routeAttributes": {
"ATTRIBUTE_KEY": "ATTRIBUTE_VALUE"
}
}' \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://roads.googleapis.com/selection/v1/projects/"\
"PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"Membuat rute secara massal
Untuk membuat beberapa rute dalam satu permintaan, gunakan
batchCreate
endpoint. Endpoint ini memungkinkan Anda menentukan hingga 1.000 rute dalam satu panggilan.
Kirim permintaan POST ke endpoint batchCreate:
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes:batchCreate
URL ini menggunakan sintaksis gRPC Transcoding.
Isi permintaan harus berupa objek JSON yang berisi array requests.
Setiap objek dalam array ini adalah CreateSelectedRouteRequest yang
menentukan setiap resource SelectedRoute.
Contoh kode berikut menunjukkan struktur permintaan POST ke endpoint
batchCreate:
curl -X POST -d '
{
"requests": [
{
"selectedRoute": {
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_1,
"longitude": ORIGIN_LONGITUDE_1
},
"destination": {
"latitude": DESTINATION_LATITUDE_1,
"longitude": DESTINATION_LONGITUDE_1
}
}
},
"selectedRouteId": "route-one"
},
{
"selectedRoute": {
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_2,
"longitude": ORIGIN_LONGITUDE_2
},
"destination": {
"latitude": DESTINATION_LATITUDE_2,
"longitude": DESTINATION_LONGITUDE_2
}
}
},
"selectedRouteId": "route-two"
}
]
}' \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://roads.googleapis.com/selection/v1/projects/"\
"PROJECT_NUMBER/selectedRoutes:batchCreate"Jika berhasil, API akan menampilkan respons yang berisi array resource
SelectedRoute yang dibuat.
Contoh kode berikut menunjukkan struktur respons endpoint batchCreate:
{
"selectedRoutes": [
{
"name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID_1",
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_1,
"longitude": ORIGIN_LONGITUDE_1
},
"destination": {
"latitude": DESTINATION_LATITUDE_1,
"longitude": DESTINATION_LONGITUDE_1
}
},
"createTime": "CREATE_TIME_1",
"state": "STATE_VALIDATING"
},
{
"name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID_2",
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_2,
"longitude": ORIGIN_LONGITUDE_2
},
"destination": {
"latitude": DESTINATION_LATITUDE_2,
"longitude": DESTINATION_LONGITUDE_2
}
},
"intermediates": [],
"createTime": "CREATE_TIME_2",
"state": "STATE_VALIDATING"
}
]
}