Search code examples
databasealgorithmspatialkdtree

What is better way represent a spatial data


I have the following problem in my system : my system is client-server architectural . my application is about recognition building in a city .so i decide to separate the map of the city into grids each grid has an area equal 30 x 30 m . for each grid region i store the center point of the grid (lat,long) . so my question is if a user is located in a specific grid x it's location are send to the server how i can decide in which grid the user are located ?

Here's a photo clarify the problem:

City organization as grids


Solution

  • I'm assuming your grids are all exactly the same size, and are arranged in a perfect rectangle, as indicated by your image. How about storing all grids in a simple 2D array? You can then find the index of any grid by doing

    grid_size = 30; 
    index_x = math.floor(user.x/grid_size); 
    index_y = math.floor(user.y/grid_size);