B4J Question HTTP Server with range requests support for making my own complete street navigation map server

vfafou

Well-Known Member
Licensed User
Longtime User
Hello!
I'm looking for creating my own street navigation map server with B4J.
I've started searching for resources to make it possible.
The first thing I have read is that the HTTP server for the map tiles should support range requests.
How could I find if B4J HTTP server supports range requests?
BTW any help from any member who have the appropriate knowledge to guide me to my purpose or give me learning resources, will be highly appreciated!
 
Last edited:

tchart

Well-Known Member
Licensed User
Longtime User
Range is something you need to handle. The range is sent in a request header and you would need to handle it.

So yes jserver would handle it but you would need implement the logic.

By the way I work in the mapping industry (20+ years) and I’ve never seen any map servers use range requests so I’m interested to know where you saw this. Data is already tiled to facilitate small responses so there really is no reason to do range requests. Range requests are generally for media streaming eg music.
 
Upvote 0

vfafou

Well-Known Member
Licensed User
Longtime User
Range is something you need to handle. The range is sent in a request header and you would need to handle it.

So yes jserver would handle it but you would need implement the logic.

By the way I work in the mapping industry (20+ years) and I’ve never seen any map servers use range requests so I’m interested to know where you saw this. Data is already tiled to facilitate small responses so there really is no reason to do range requests. Range requests are generally for media streaming eg music.
I've searched for information on how to develop such server and I found nothing - fast and informative - about that!
I know I have to learn many GIS concepts but I prefer to begin with examples and the core logic instead of the bunch of theory!
The concept I found, has been produced after some questions to CoPilot AI (ChatGPT), so it's not impossible to be wrong! 😁
 
Upvote 0

drgottjr

Expert
Licensed User
Longtime User
map tiles are resources like any other
files. if your server can serve a file, it
can serve a map tile. the faster you
can serve them, the better.

the user tells your server which tiles he
wants. the server consults its file system
and delivers them (if available). this is
no different from any request to a file server.

creating the tiles and storing them for
access is another matter entirely. it has
nothing to do with the server. if you're
planning on becoming the new google maps,
you need to study how to create a map tile.
serving them is the least of your worries.
 
Upvote 0

vfafou

Well-Known Member
Licensed User
Longtime User
map tiles are resources like any other
files. if your server can serve a file, it
can serve a map tile. the faster you
can serve them, the better.

the user tells your server which tiles he
wants. the server consults its file system
and delivers them (if available). this is
no different from any request to a file server.

creating the tiles and storing them for
access is another matter entirely. it has
nothing to do with the server. if you're
planning on becoming the new google maps,
you need to study how to create a map tile.
serving them is the least of your worries.
Hello drgottjr!
Thank you for your response!
You are absolutely right!
I'm not planning to be the new google maps because it's impossible!
I want to make a navigation app mainly for learning purposes but I don't want to spend so much time for the way to show the map as I want to spend for the algorithmic side of the project.
I prefer to study, apply and test routing algorithms, geocoding and reverse geocoding methods, POI searching etc.
My tiles file is ready! :)
 
Upvote 0

drgottjr

Expert
Licensed User
Longtime User
but I don't want to spend so much time for the way to show the map

showing the map has nothing to do with the tile server. it is the browser which requests certain tiles and displays them in their proper positions. either you have to write your own browser request for tiles or you have to store your tiles in a way that is understood by the server.

I prefer to study, apply and test routing algorithms, geocoding and reverse geocoding methods, POI searching etc.

none of this has anything to do with the server. these are all backend matters. routing, geocoding, poi's are all handled by db servers. when you request tiles from, eg, google, that is 1 server (actually, more than 1). when you request a poi from google, that is a different server. they are all part of google.com, but they are all different hosts (servers) in that domain. you don't ask google's tile servers for geocoding data. they just serve tiles. you don't ask google's geocoding server for tiles. it just resolves geocoding requests. your browser uses a mapping api to make these diverse requests to the appropriate server and to put the results together to display a map with, eg, markers.
 
Upvote 0

vfafou

Well-Known Member
Licensed User
Longtime User
none of this has anything to do with the server. these are all backend matters. routing, geocoding, poi's are all handled by db servers. when you request tiles from, eg, google, that is 1 server (actually, more than 1). when you request a poi from google, that is a different server. they are all part of google.com, but they are all different hosts (servers) in that domain. you don't ask google's tile servers for geocoding data. they just serve tiles. you don't ask google's geocoding server for tiles. it just resolves geocoding requests. your browser uses a mapping api to make these diverse requests to the appropriate server and to put the results together to display a map with, eg, markers.
Yes, indeed! I don't say that the backend matters have to do with the tile server!
I just say that I want to spend more time for the most algorithmic pieces of the navigation map application!
 
Upvote 0
Top