Shape information is available in GTFS as well, which is likely more convenient than cross-referencing the data from GIS. You should see each trip has a `shape_id`, which corresponds to entries in
shapes.txt (see also
our docs). The `shape_dist_traveled` column indicates how many meters are traveled up to that point on the shape, starting from the first point. If you are only looking for the complete length of each trip, you can look at the value of `shape_dist_traveled` for the last point, i.e. the one with the highest `shape_pt_sequence`.
Could you clarify what you mean by "trip type" here? There is no column named `schedule_id` in the GTFS spec.