Route won't follow roads

I've read the other questions relating to this problem, but haven't found a solution.

I have a very sparse track that basically marks intersections between roads. I have the Activity Profile set to Motorcycle, but when I create a route based on the track, the route between some of the track points is direct, while others follow the road (without via points).

I have turned off all avoidances, and changed my Activity from Motorcycling, to ATV, to Dirt Bike, and Car. Nothing works. I am using CNNA 2023.1. Here's an example:

  • Can you post the gpx file here. Sounds like as you say an issue with the original file, and as  says, some portions may be set to Direct activity, although if as you say you can overcome it by using additional viapoints that wouldn't make sense. Your best bet may be to create a new route using the start and end points then drag/drop as necessary to follow the 'route' you have.

  • This site will not allow me to upload it (probably too large). Here is just the track I'm generating the route from, though:

      <trk>
        <name>Track #3</name>
        <trkseg>
          <trkpt lat="43.100919155403972" lon="-90.856151059269905"/>
          <trkpt lat="43.100056741386652" lon="-90.843917252495885"/>
          <trkpt lat="43.110798988491297" lon="-90.849793301895261"/>
          <trkpt lat="43.12223601154983" lon="-90.84061436355114"/>
          <trkpt lat="43.127739988267422" lon="-90.840112958103418"/>
          <trkpt lat="43.12915007583797" lon="-90.835550352931023"/>
          <trkpt lat="43.119785310700536" lon="-90.807105107232928"/>
          <trkpt lat="43.132881196215749" lon="-90.804748283699155"/>
          <trkpt lat="43.137560058385134" lon="-90.794879011809826"/>
          <trkpt lat="43.117308625951409" lon="-90.787669653072953"/>
          <trkpt lat="43.125083679333329" lon="-90.771177420392632"/>
          <trkpt lat="43.143333680927753" lon="-90.780671769753098"/>
          <trkpt lat="43.151935609057546" lon="-90.763993794098496"/>
          <trkpt lat="43.148047998547554" lon="-90.7637725956738"/>
          <trkpt lat="43.137971442192793" lon="-90.74067659676075"/>
          <trkpt lat="43.153096670284867" lon="-90.716442251577973"/>
          <trkpt lat="43.128712456673384" lon="-90.710436701774597"/>
          <trkpt lat="43.113567531108856" lon="-90.738227739930153"/>
          <trkpt lat="43.105204319581389" lon="-90.74003404006362"/>
          <trkpt lat="43.102284148335457" lon="-90.745439361780882"/>
          <trkpt lat="43.102286327630281" lon="-90.745439361780882"/>
          <trkpt lat="43.101944597437978" lon="-90.745482193306088"/>
          <trkpt lat="43.100998448207974" lon="-90.752784507349133"/>
          <trkpt lat="43.100026063621044" lon="-90.753543069586158"/>
          <trkpt lat="43.07567311450839" lon="-90.735147809609771"/>
          <trkpt lat="43.07567311450839" lon="-90.735143786296248"/>
          <trkpt lat="43.075002813711762" lon="-90.735175888985395"/>
          <trkpt lat="43.075006082653999" lon="-90.735171865671873"/>
          <trkpt lat="43.056027609854937" lon="-90.749354297295213"/>
          <trkpt lat="43.056076895445585" lon="-90.770561434328556"/>
          <trkpt lat="43.056068681180477" lon="-90.770561434328556"/>
          <trkpt lat="43.055849242955446" lon="-90.772238485515118"/>
          <trkpt lat="43.050327496603131" lon="-90.789281828328967"/>
          <trkpt lat="43.04781393148005" lon="-90.790585465729237"/>
          <trkpt lat="43.040840020403266" lon="-90.792530821636319"/>
          <trkpt lat="43.040659306570888" lon="-90.792952012270689"/>
          <trkpt lat="43.037718599662185" lon="-90.794295379891992"/>
          <trkpt lat="43.037726813927293" lon="-90.794295379891992"/>
          <trkpt lat="43.037314424291253" lon="-90.794740710407495"/>
          <trkpt lat="43.028207654133439" lon="-90.816118000075221"/>
          <trkpt lat="43.027635924518108" lon="-90.816366691142321"/>
          <trkpt lat="43.025123784318566" lon="-90.824192874133587"/>
          <trkpt lat="43.024911303073168" lon="-90.824182229116559"/>
          <trkpt lat="43.010682100430131" lon="-90.817715339362621"/>
          <trkpt lat="43.010654775425792" lon="-90.816946551203728"/>
          <trkpt lat="43.009794959798455" lon="-90.816933140158653"/>
          <trkpt lat="43.008973533287644" lon="-90.816926518455148"/>
          <trkpt lat="42.996021900326014" lon="-90.81685627810657"/>
          <trkpt lat="42.995767761021852" lon="-90.816982006654143"/>
          <trkpt lat="42.995800618082285" lon="-90.817538229748607"/>
          <trkpt lat="42.998810056596994" lon="-90.825839163735509"/>
          <trkpt lat="43.008681675419211" lon="-90.82715948112309"/>
          <trkpt lat="43.01573546603322" lon="-90.845272857695818"/>
          <trkpt lat="43.01539046689868" lon="-90.845667226240039"/>
          <trkpt lat="42.996504278853536" lon="-90.846141977235675"/>
          <trkpt lat="42.995970267802477" lon="-90.838621146976948"/>
          <trkpt lat="42.98518150113523" lon="-90.839924784377217"/>
          <trkpt lat="42.982196873053908" lon="-90.849116882309318"/>
          <trkpt lat="42.974187377840281" lon="-90.84915024228394"/>
          <trkpt lat="42.973886132240295" lon="-90.870108269155025"/>
          <trkpt lat="42.967136353254318" lon="-90.893422616645694"/>
          <trkpt lat="42.973448093980551" lon="-90.893673319369555"/>
          <trkpt lat="42.981005636975169" lon="-90.903199687600136"/>
          <trkpt lat="42.987550143152475" lon="-90.912792859598994"/>
          <trkpt lat="42.986098984256387" lon="-90.922101968899369"/>
          <trkpt lat="42.987016215920448" lon="-90.927266143262386"/>
          <trkpt lat="42.989754248410463" lon="-90.92753360979259"/>
          <trkpt lat="42.989577557891607" lon="-90.928427372127771"/>
          <trkpt lat="42.965790722519159" lon="-90.947883781045675"/>
          <trkpt lat="42.966762939468026" lon="-90.949003519490361"/>
          <trkpt lat="42.986377011984587" lon="-90.966702662408352"/>
          <trkpt lat="42.989803282544017" lon="-90.965431965887547"/>
          <trkpt lat="42.994069084525108" lon="-90.971997510641813"/>
          <trkpt lat="42.994053745642304" lon="-90.972545687109232"/>
          <trkpt lat="42.994544422253966" lon="-90.97255633212626"/>
          <trkpt lat="43.033267557621002" lon="-90.959902005270123"/>
          <trkpt lat="43.033804250881076" lon="-90.960242981091142"/>
          <trkpt lat="43.033667374402285" lon="-90.961620127782226"/>
          <trkpt lat="43.032013457268476" lon="-90.967717710882425"/>
          <trkpt lat="42.993063842877746" lon="-91.046832986176014"/>
          <trkpt lat="43.008149424567819" lon="-91.057699369266629"/>
          <trkpt lat="43.009964777156711" lon="-91.060416866093874"/>
          <trkpt lat="43.013891195878386" lon="-91.094819884747267"/>
          <trkpt lat="43.014564765617251" lon="-91.103532956913114"/>
          <trkpt lat="43.017456186935306" lon="-91.111434493213892"/>
          <trkpt lat="43.028251240029931" lon="-91.12748097628355"/>
          <trkpt lat="43.028470259159803" lon="-91.127828657627106"/>
          <trkpt lat="43.028251240029931" lon="-91.128336684778333"/>
          <trkpt lat="43.02774740383029" lon="-91.14269589073956"/>
          <trkpt lat="43.048930149525404" lon="-91.14638602361083"/>
          <trkpt lat="43.050353983417153" lon="-91.146466238424182"/>
          <trkpt lat="43.050266308709979" lon="-91.148043964058161"/>
          <trkpt lat="43.043782152235508" lon="-91.181094562634826"/>
          <trkpt lat="43.043387867510319" lon="-91.180853834375739"/>
          <trkpt lat="43.043519295752048" lon="-91.178233316168189"/>
          <trkpt lat="43.041504034772515" lon="-91.177992671728134"/>
          <trkpt lat="43.026279732584953" lon="-91.173526961356401"/>
          <trkpt lat="43.018481209874153" lon="-91.182565251365304"/>
          <trkpt lat="43.019006922841072" lon="-91.183554651215672"/>
          <trkpt lat="43.018634514883161" lon="-91.18465100415051"/>
          <trkpt lat="43.018636275082827" lon="-91.184893324971199"/>
          <trkpt lat="43.018639544025064" lon="-91.184893324971199"/>
          <trkpt lat="43.018432511016726" lon="-91.184977563098073"/>
        </trkseg>
      </trk>
    

  • Unfortunately that doesn't help me, maybe it will others

  • The route is being created from the above track based on the active Activity Profile, which is Motorcycle. Once the route is created, it has two points (a start and an end), both of which are set to Motorcycle. You can set the Activity Profile in multiple places, I know. Nowhere is it set to Direct'; not in the main BaseCamp screen, not in the route Properties, and not in the route Via Point properties.

    I know what you're looking for:

            <trp:ViaPoint>
              <trp:CalculationMode>Direct</trp:CalculationMode>
            </trp:ViaPoint>
    

    I've grepped the source XML for "Direct," and it isn't there.

  • My best guess is that some of the locations in your track file coincide with the locations that make up the routable features on the map.  If adjacent track points happent to match points for routable features, then BaseCamp will fill in the path between those points.  Otherwise, it will create a direct path from one point to the next.

    If you build the route initially and convert it to a track, all of the points will come from the routable features and will convert nicely from track to route.

    Use your track as guide to build a route that initially consists of the start and end points.  Use the insert tool to shape the route to match your track.  I was able to get what  I think was your intended route by adding 16 points.  If you add a point that doesn't help, use ctrl-z to remove it and try another spot.

    I can't remember if the track to route conversion always behaved this way.  For some reason I was thinking that track points would be added to the table under the propeties tab; but it seems only the start and end points are added.

  • Just occured to me that if you set the activity profile to Direct on the tool bar then convert the Track to a Route iit should populate the table under the Route Properties tab with the track points.  You should then be able to change the Activity Profile to something else and get a route that follows the road.

    You will have to reduce the number of track points used in the conversion to something less than your devices limit of via/shaping points.  I would suggest checking the via points to see if they fall on a road and move them if they do not.  Chances are you will have to make some alterations.

    You could also try letting BaseCamp choose the track points automatically, then change the Profile.  Make changes to the Route if needed.  Convert it to a track.  Change the profile on the Tool Bar. and convert the track to a route.  I'm not sure how a device will handle this.  I am guessing the the via points will be converted to sum kind of sub-class under Garmin's expansion for Routes.  Possibly a shaping type, but maybe not.  You will have to check your device limitations.and test to see if it works.