Spanish Dudas con Open Street Map

Carlos marin

Active Member
Licensed User
Hola tambien tube la duda, al parecer se debe cambiar la url del servidor de titulos a una de estas https://wiki.openstreetmap.org/wiki/Tile_servers
el user-agent tambien ' j.GetRequest.SetHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0") '

clMapTileManager.bas linea 69

B4X:
'Get Tile from internet openstreemap website
public Sub getTileFromInternet(aZ As Int,aX As Int,aY As Int) As ResumableSub
    Dim j As HttpJob
    Dim bmp As B4XBitmap
    Try
        j.Initialize("", Me)
        j.Download($"https://a.tile.openstreetmap.org/${aZ}/${aX}/${aY}.png"$)
        j.GetRequest.SetHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0")
        Wait For (j) JobDone(j As HttpJob)
        If j.Success Then
            Try
                bmp=j.GetBitmap
            Catch
                Log(LastException.Message)
            End Try
        End If
    Catch
        Log(LastException.Message)
    End Try
    If j.IsInitialized Then
        j.Release
    End If
    Return bmp
End Sub
 

oparra

Well-Known Member
Licensed User
Estimados,

Los servidores de mosaicos no son gratis, la clase del miembro que publico ese proyecto esta guardando los PNG en una base de datos a medida que se hace zoom o cambia de posición y esto causa que el servidor de mosaico lo esta bloqueando.

Es por ello que publique que leyeran las restricciones de los servidores de los mosaicos y los distintos servidores existentes, la aplicación esta apuntando a servidores de mosaicos de desarrollo, y existen otros:


El agente de usuario para que sea personal de su aplicación indique en este un correo o el nombre de la aplicación, nombre del paquete y tendrá mas opción de descarga de mosaicos.

Además, pedí al creador de esta vista que tuviera la opción de cambiar el servidor mosaicos (ServerTile) y user agente (UserAgente) por parámetros.

j.Download($"${ServerTile}${aZ}/${aX}/${aY}.png"$)

j.GetRequest.SetHeader("User-Agent",$"{UserAgent}"$)


y lo otro que solo vaya a descargar mosaico cuando estos no estén en la base de datos, para no sobre pasar las restricciones de los servidores de mosaicos.

PD:
Es una buena solución pero genera un archivo de base datos SQLlite muy grande, he probado en una zona de1 kilometro con un zoom entre 10 y 17 y su tamaño lleva cerca 200mb esto esta bien para uso en PC pero Android o IOS esto no es conveniente.

Si su proyecto lo utilizan otros usuarios es mejor instalar su propio servidor nominatim de su pais que ya publique en otros POST.

y recuerde como siempre digo "nada es gratis en esta vida".

Saludos,
 

Carlos marin

Active Member
Licensed User
:( amigo que mala noticia, pensé que open street era gratis y ahora vea ya se están pareciendo a google 😟😟😟 google esta carísimo cuando tu app empieza a tener trafico, hay algún otro mapa que sea gratis, o me podrías indicar como hago para guardar esas imágenes de mosaicos esa seria buena idea para ahorrar costos
 

oparra

Well-Known Member
Licensed User
Si desean ayuda de como hacerlo mas personal y no tener restricciones de uso de mapas y geocode, publiquen su dudas, llevo muchos años usando este servicios de mapas y conocemos bien todos los servicios puedes obtener y como obtener tus propios servicios.

Ademas, existen organizaciones en cada pais de OpenStreeMap busca el tuyo te pueden ayudar.

Saludos,
 

oparra

Well-Known Member
Licensed User
:( amigo que mala noticia, pensé que open street era gratis y ahora vea ya se están pareciendo a google 😟😟😟 google esta carísimo cuando tu app empieza a tener trafico, hay algún otro mapa que sea gratis, o me podrías indicar como hago para guardar esas imágenes de mosaicos esa seria buena idea para ahorrar costos
Tu me pregustaste tiempo atrás como hacer tu propio servidor OSM y recuerdo que te envié el link de como hacer tu servidor de mapas.

Puedes hacerlo en un VPS solo para tu pais y con ciertas capas de mapas e información dependiendo de tus necesidades.

Saludos.
 

oparra

Well-Known Member
Licensed User
Hace algún tiempo tuve la idea de hacer un servidor OSM y traducir el SDK para la comunidad B4X, ya que cuento con servidores propios.

Y ahora tengo un servidor libre que veré que hacemos con este:
Rack 1U de 32GB de RAM con 4 Discos de 1TB, y en un data center con un enlace de 1Gb 1:1 asimétrico.

Pero lo deje pendiente el proyecto.

Saludos.
 
Last edited:

oparra

Well-Known Member
Licensed User
servidor:
1616000370647.png
 
Top