Я пытаюсь использовать mercantile для отображения плитки из Maptiler. Однако не похоже, что плитки выстроены правильно.
Я пытаюсь вытащить плитку для -95,1017, 40,9778, используя это:
tile = mercantile.tile(-95.1017, 40.9778, 12)
и я получаю:
Tile(x=965, y=1536, z=12)
но когда я выбираю координаты тайла из Maptiler на Maptiler-osm-2020-02-10-v3.11 -planet.mbtiles, у меня океан. Это должно быть довольно близко к центру США.
Я попробовал поменять местами широту и долготу, думая, что ошибся. Я пробовал отрегулировать широту/долготу, используя смещение из центра метаданных mbtiles и т. д. На этом этапе я в тупике. Есть ли способ настроить «центр» для торговли? Потому что я не могу его найти.
Я также пробовал morecantile, но, похоже, это не дает мне ничего лучше или хуже, в зависимости от уровня масштабирования, который выдает ошибка.
как указано выше, и я ожидал увидеть что-то с функциями, отличными от «океана».
Этот следующий код упрощен настолько, насколько я думаю, что смогу это сделать.
import sqlite3
import gzip
import io
import mercantile
import geopandas as gpd
conn = sqlite3.connect('/mnt/c/Users/dmars/Downloads/maptiler-osm-2020-02-10-v3.11-planet.mbtiles')
cursor = conn.cursor()
tile = mercantile.tile(-95.1017, 40.9778, 12)
cursor.execute(f"select images.tile_data, map.zoom_level, map.tile_column, map.tile_row, map.tile_id, map.grid_id from map, images where map.tile_column = {tile.y} and map.tile_row = {tile.y} and map.zoom_level = {tile.z} and images.tile_id = map.tile_id;")
blob = cursor.fetchone()
with io.BytesIO(blob[0]) as f:
with gzip.GzipFile(fileobj=f, mode='rb') as g:
decompressed = g.read()
print(type(decompressed))
with io.BytesIO(decompressed) as b:
gdf = gpd.read_file(b)
print(gdf)
Подробнее здесь: https://stackoverflow.com/questions/793 ... dd-results
Python mercantile возвращает странные результаты ⇐ Python
Программы на Python
-
Anonymous
1735054557
Anonymous
Я пытаюсь использовать mercantile для отображения плитки из Maptiler. Однако не похоже, что плитки выстроены правильно.
Я пытаюсь вытащить плитку для -95,1017, 40,9778, используя это:
tile = mercantile.tile(-95.1017, 40.9778, 12)
и я получаю:
Tile(x=965, y=1536, z=12)
но когда я выбираю координаты тайла из Maptiler на Maptiler-osm-2020-02-10-v3.11 -planet.mbtiles, у меня океан. Это должно быть довольно близко к центру США.
Я попробовал поменять местами широту и долготу, думая, что ошибся. Я пробовал отрегулировать широту/долготу, используя смещение из центра метаданных mbtiles и т. д. На этом этапе я в тупике. Есть ли способ настроить «центр» для торговли? Потому что я не могу его найти.
Я также пробовал morecantile, но, похоже, это не дает мне ничего лучше или хуже, в зависимости от уровня масштабирования, который выдает ошибка.
как указано выше, и я ожидал увидеть что-то с функциями, отличными от «океана».
Этот следующий код упрощен настолько, насколько я думаю, что смогу это сделать.
import sqlite3
import gzip
import io
import mercantile
import geopandas as gpd
conn = sqlite3.connect('/mnt/c/Users/dmars/Downloads/maptiler-osm-2020-02-10-v3.11-planet.mbtiles')
cursor = conn.cursor()
tile = mercantile.tile(-95.1017, 40.9778, 12)
cursor.execute(f"select images.tile_data, map.zoom_level, map.tile_column, map.tile_row, map.tile_id, map.grid_id from map, images where map.tile_column = {tile.y} and map.tile_row = {tile.y} and map.zoom_level = {tile.z} and images.tile_id = map.tile_id;")
blob = cursor.fetchone()
with io.BytesIO(blob[0]) as f:
with gzip.GzipFile(fileobj=f, mode='rb') as g:
decompressed = g.read()
print(type(decompressed))
with io.BytesIO(decompressed) as b:
gdf = gpd.read_file(b)
print(gdf)
Подробнее здесь: [url]https://stackoverflow.com/questions/79305960/python-mercantile-is-returning-odd-results[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия