class_docstr: The OpenStreetMap Nodes Table implementation
class_docstr_tok: ["The","OpenStreetMap","Nodes","Table","implementation"]
code: def get_nodes(self, **kwargs) -> List[Dict]:
      where_conditions = kwargs.get("where_conditions", None)
  
      area, tags = None, {}
      min_lat, min_lon, max_lat, max_lon = None, None, None, None
      if where_conditions:
          for condition in where_conditions:
              if condition[1] == "area":
                  area = condition[2]
  
              elif condition[1] == "min_lat":
                  min_lat = condition[2]
  
              elif condition[1] == "min_lon":
                  min_lon = condition[2]
  
              elif condition[1] == "max_lat":
                  max_lat = condition[2]
  
              elif condition[1] == "max_lon":
                  max_lon = condition[2]
  
              else:
                  tags[condition[1]] = condition[2]
  
      result = self.execute_osm_node_query(
          tags=tags,
          area=area,
          min_lat=min_lat,
          min_lon=min_lon,
          max_lat=max_lat,
          max_lon=max_lon,
          limit=kwargs.get("limit", None),
      )
  
      nodes = []
      for node in result.nodes:
          node_dict = {
              "id": node.id,
              "lat": node.lat,
              "lon": node.lon,
              "tags": node.tags,
          }
          nodes.append(node_dict)
      return nodes
  
imports: import pandas
  from typing import Text, List, Dict
  from mindsdb_sql.parser import ast
  from mindsdb.integrations.libs.api_handler import APITable
  from mindsdb.integrations.utilities.sql_utils import extract_comparison_conditions
  from mindsdb.integrations.handlers.utilities.query_utilities import SELECTQueryParser, SELECTQueryExecutor
label_desc: Use image node_id 2 for calling the OpenStreetMapNodeTable obj's underlying member method code with example usage: obj.get_nodes() and returns: nodes