Cannot find point 1: -9.34143,-54.57616

Hello,

I’ve been trying to route over a GH instance running in my own infra, but I’m receiving a Cannot find point error, with the following message:

{
    "message": "Cannot find point 1: -9.34143,-54.57616",
    "hints": [
        {
            "message": "Cannot find point 1: -9.34143,-54.57616",
            "details": "com.graphhopper.util.exceptions.PointNotFoundException",
            "point_index": 1
        }
    ]
}

I’ve tryed to route the exactly same payload through GH Web API https://graphhopper.com/api/1/route, and It worked.

Here is the payload:

{
    "points": [
        [
            -55.45700,
            -10.78906
        ],
        [
            -54.57616,
            -9.34143
        ],
        [
            -55.45700,
            -10.78906
        ]
    ],
    "profile": "truck",
    "locale": "pt_BR",
    "points_encoded": true,
    "instructions": false,
    "details": [
        "average_speed",
        "leg_distance",
        "leg_time"
    ],
    "custom_model": {
        "priority": [],
        "distance_influence": 15.0
    },
    "ch.disable": true
}

I have used geojson to check points positions, and route linestring, and here it is some screenshots:



Apparently is everything ok with returned route linestring, and route request points.

I have also checked my GH Instance log, and the only info outputed was:

2024-02-23 19:25:39.911 [dw-18 - POST /route] INFO  c.g.http.MultiExceptionMapper - bad request: [com.graphhopper.util.exceptions.PointNotFoundException: Cannot find point 1: -9.34143,-54.57616]

And one additional info is that I have reindexed a new planet PBF up to Feb, 16th friday.

Any help with that?

best,

Did you try to move the marker closer to the road, or is this entire road not routable?

@easbar , yes. I tried to move the point closer to the road, but it didn’t work too.

Try to zoom in to the road and choose ‘Show routing graph’ in the layer menu. Does the road become visible? And when you hover it with your mouse you can see it’s properties. I assume it is not accessible for some reason so it is excluded from the routing. Maybe because it is unpaved?

Hi @easbar,

This option ‘Show rounting graph’ does not appear when I access my instance of GraphHopper Web. So I placed the point right above the road, and the error still happening. Here’s another screenshot.


ps.: the coordinates are inverted cause I tested using GraphHopper Web.

About the other question, yes, this road is unpaved, and traffic was not allowed in it, but our gis team have requested changes to OSM many days before our last pbf update, allowing traffic in these roads. Our pbf update was made many days after OSM approval and merging data.

Is there any configuration to allow GraphHopper routing through unpaved roads when run GH locally?

That is rather odd. Which version are you using?

Is there any configuration to allow GraphHopper routing through unpaved roads when run GH locally?

Yes, and depending on the profile you are you using (which profile are you using?) they might be allowed already.

That is rather odd. Which version are you using?

I’m running version 8

Yes, and depending on the profile you are you using (which profile are you using?) they might be allowed already.

I have two profiles set up, the default car, and the truck one, copy/paste from the profile file available in GitHub.

config.yml

graphhopper:
  datareader.file: ""

  custom_models.directory: /graphhopper/profiles

  profiles:
    - name: car
      vehicle: car
      custom_model:
        distance_influence: 70
    - name: truck
      vehicle: roads
      weighting: custom
      custom_model_files: [ truck.json ]
  profiles_ch:
    - profile: car
    - profile: truck
  profiles_lm: []

  prepare.min_network_size: 1000
  prepare.subnetworks.threads: 1

  routing.non_ch.max_waypoint_distance: 100000000 #100.000.000
  routing.max_visited_nodes: 10000000 #10.000.000

  import.osm.ignored_highways: footway,cycleway,path,pedestrian,steps # typically useful for motorized-only routing

  graph.location: graph-cache
  graph.dataaccess.default_type: RAM_STORE
  graph.encoded_values: hgv,max_weight,max_height,max_width,toll
  graph.vehicles: roads|hgv=true
  
server:
  application_connectors:
  - type: http
    port: 8989
    bind_host: localhost
    max_request_header_size: 50k
  request_log:
      appenders: []
  admin_connectors:
  - type: http
    port: 8990
    bind_host: localhost

logging:
  appenders:
    - type: file
      time_zone: UTC
      current_log_filename: logs/graphhopper.log
      log_format: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
      archive: true
      archived_log_filename_pattern: ./logs/graphhopper-%d.log.gz
      archived_file_count: 30
      never_block: true
    - type: console
      time_zone: UTC
      log_format: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
  loggers:
    "com.graphhopper.osm_warnings":
      level: DEBUG
      additive: false
      appenders:
        - type: file
          currentLogFilename: logs/osm_warnings.log
          archive: false
          logFormat: '[%level] %msg%n'

truck.json

{
  "distance_influence": 1,
  "priority": [
    { "if": "road_access == PRIVATE",  "multiply_by": "0" },
    { "if": "car_access == false || hgv == NO || max_width < 3 || max_height < 4", "multiply_by": "0" }
  ],
  "speed": [
    { "if": "true", "limit_to": "car_average_speed * 0.9" },
    { "if": "true", "limit_to": "95" }
  ]
}

I’ve just tested using car profile, but the problem persists.

I tried this with this map: https://download.geofabrik.de/south-america/brazil-240227.osm.pbf, GraphHopper 8 and the config you posted. I cannot reproduce your issue, the road is accessible and the coordinate is resolved without an error.

Are you sure you do not see this menu entry when you click the layer icon in the top right?

routing.non_ch.max_waypoint_distance: 100000000 #100.000.000

btw you can use underscores to make such numbers more readable: `routing.non_ch.max_waypoint_distance: 100_000_000

But I can reproduce it for older data from January 1st. With this older data the road becomes part of an (excluded) subnetwork. The reason is probably some kind of barrier/gate that has been changed since then.

The roads weren’t accessible probably because they were tagged as access=forestry, like this one which was later changed: Way: 819169739 | OpenStreetMap

See CarAccessParser.java where forestry is used as a ‘restricted value’, i.e. roads tagged as access=forestry won’t be routable. You can change this there.

btw you can use underscores to make such numbers more readable: `routing.non_ch.max_waypoint_distance: 100_000_000

Thanks for the advice. I’m gonna change it right now!

Are you sure you do not see this menu entry when you click the layer icon in the top right?

Now I found it. The menu wasn’t expanded. Here’s the road info you said.

This road segment has allowed access, but there is another one, with road_access=forestry. See bellow:

I’ve also investigated here, and my pbf, I believe is up to Feb 05th.

I’m going to re-index the latest PBF, and try again.

I’ll give you a feedback ASAP.

Hello @easbar ,

I apologize for taking too long to give you a feedback. I updated the PBF file to the latest release, and the route worked.

Thanks for you help!