Skip to content

Commit

Permalink
return conflated here nodes
Browse files Browse the repository at this point in the history
also rename file, function for cosnsitency
  • Loading branch information
Nate-Wessel committed Jan 3, 2025
1 parent 7b6855d commit a47d595
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
12 changes: 7 additions & 5 deletions backend/app/get_centreline_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import json
from app.db import getConnection
from app.get_nearest_centreline_node import get_nearest_centreline_node
from app.get_nearest_here_nodes import get_here_nodes_within

SQL = '''
SELECT
Expand Down Expand Up @@ -31,9 +31,11 @@ def get_centreline_node(node_id, conflate_with_here=False):
if conflate_with_here:
lon = node['geometry']['coordinates'][0]
lat = node['geometry']['coordinates'][1]
node['conflated'] = {
# TODO should be Here
'centreline': get_nearest_centreline_node(lon, lat)
}
try:
node['conflated'] = {
'here': get_here_nodes_within(50, lon, lat, 1)[0]
}
except:
pass
connection.close()
return node
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
"""Return intersection(s) near a provided coordinate"""

import json
from app.db import getConnection

Expand All @@ -16,13 +14,14 @@
cg_nodes.node_id,
cg_nodes.geom
ORDER BY distance
LIMIT 20;
LIMIT %(limit)s;
'''

def get_nodes_within(meters,longitude, latitude):
def get_here_nodes_within(meters, longitude, latitude, limit=20):
"""Return intersection(s) near a provided coordinate"""
with getConnection() as connection:
with connection.cursor() as cursor:
cursor.execute(SQL, {"latitude": latitude, "longitude": longitude})
cursor.execute(SQL, {"latitude": latitude, "longitude": longitude, 'limit': limit})
candidate_nodes = []
for node_id, geojson, distance, street_names in cursor.fetchall():
if distance <= meters:
Expand Down
6 changes: 3 additions & 3 deletions backend/app/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from flask import jsonify, request
from app import app
from app.db import getConnection
from app.get_closest_nodes import get_nodes_within
from app.get_nearest_here_nodes import get_here_nodes_within
from app.get_here_node import get_here_node
from app.get_centreline_node import get_centreline_node
from app.get_travel_time import get_travel_time
Expand Down Expand Up @@ -33,7 +33,7 @@ def version():
'git-HEAD': getGitHash()
})

# test URL /closest-node/-79.3400/43.6610
# test URL /nodes-within/50/-79.3400/43.6610
@app.route('/nodes-within/<meters>/<longitude>/<latitude>', methods=['GET'])
def closest_node(meters, longitude, latitude):
"""Return up to 20 nodes within a given radius (in meters) of a point.
Expand All @@ -51,7 +51,7 @@ def closest_node(meters, longitude, latitude):
meters = float(meters)
except:
return jsonify({'error': "all inputs must be decimal numbers"})
return jsonify(get_nodes_within(meters,longitude,latitude))
return jsonify(get_here_nodes_within(meters,longitude,latitude))

# test URL /node/here/30357505
@app.route('/node/<node_id>', endpoint='generic') # will be deprecated
Expand Down

0 comments on commit a47d595

Please sign in to comment.