code: def bench_quadtree_point_to_nearest_linestring(benchmark):
      SCALE = 3
      MAX_DEPTH = 7
      MIN_SIZE = 125
      host_countries = geopandas.read_file(
          geopandas.datasets.get_path("naturalearth_lowres")
      )
      host_cities = geopandas.read_file(
          geopandas.datasets.get_path("naturalearth_cities")
      )
      gpu_countries = cuspatial.from_geopandas(
          host_countries[host_countries["geometry"].type == "Polygon"]
      )
      gpu_cities = cuspatial.from_geopandas(host_cities)
      polygons = gpu_countries["geometry"].polygons
      points_x = gpu_cities["geometry"].points.x
      points_y = gpu_cities["geometry"].points.y
      points = cuspatial.GeoSeries.from_points_xy(
          cudf.DataFrame(
              {"x": points_x, "y": points_y}
          ).interleave_columns()
      )
  
      linestrings = cuspatial.GeoSeries.from_linestrings_xy(
          cudf.DataFrame(
              {"x": polygons.x, "y": polygons.y}
          ).interleave_columns(),
          polygons.ring_offset,
          cupy.arange(len(polygons.ring_offset)),
      )
      point_indices, quadtree = cuspatial.quadtree_on_points(
          points,
          polygons.x.min(),
          polygons.x.max(),
          polygons.y.min(),
          polygons.y.max(),
          SCALE,
          MAX_DEPTH,
          MIN_SIZE,
      )
      xy = cudf.DataFrame(
          {"x": polygons.x, "y": polygons.y}
      ).interleave_columns()
      lines = cuspatial.GeoSeries.from_linestrings_xy(
          xy,
          polygons.ring_offset,
          cupy.arange(len(polygons.ring_offset)),
      )
      linestring_bboxes = cuspatial.linestring_bounding_boxes(
          lines, 2.0
      )
      intersections = cuspatial.join_quadtree_and_bounding_boxes(
          quadtree,
          linestring_bboxes,
          polygons.x.min(),
          polygons.x.max(),
          polygons.y.min(),
          polygons.y.max(),
          SCALE,
          MAX_DEPTH,
      )
      benchmark(
          cuspatial.quadtree_point_to_nearest_linestring,
          intersections,
          quadtree,
          point_indices,
          points,
          linestrings,
      )
  
imports: import cupy
  import geopandas
  import pytest
  import cudf
  import cuspatial
label_desc: Use image node_id 16 for calling a global function with example usage: bench_quadtree_point_to_nearest_linestring(benchmark) without return types