Наткнулся на геопортал где можно скачать ЦМР и ЦММ 50см/пиксел и классифицированное c RGB данными облако точек с детализацией 10 точек на 1м²
Можно по экспериментировать с такими данными.
Круто видны рельеф и старые дороги под сплошным лесным покровом.
И еще на портале интересно реализовано предоставление пользователю заказа с протухающими ссылками с таймером.
https://cdd.dgterritorio.gov.pt/dgt-fe
#data #lidar #dem #portugal
Можно по экспериментировать с такими данными.
Круто видны рельеф и старые дороги под сплошным лесным покровом.
И еще на портале интересно реализовано предоставление пользователю заказа с протухающими ссылками с таймером.
https://cdd.dgterritorio.gov.pt/dgt-fe
#data #lidar #dem #portugal
Очень рекомендую обратить внимание на файловый формат FlatGeobuf
Это один из довольно новых Cloud-Optimized Geospatial форматов. И можно прямо в QGIS подключить такие файлы по ссылке из интерента, и будут скачиваться и отображаться только фичи, которые попадают в область отображаемую на карте.
Вторая полезная функция, как по мне :
Очень удобно обменивать данные между R <- -> QGIS и поддерживает пространственные запросы прямо при чтении файла.
Т.е. можно читать не весь файл а только объекты в вашей зоне интереса.
И это можно делать не только с локальным файлом а и с файлом из интернета по ссылке.
В примере ниже чтение FlatGeobuf файла в R не полностью, а частично по зоне интереса
Подробнее про него можно почитать на официальных сайтах:
https://flatgeobuf.org/
https://guide.cloudnativegeo.org/flatgeobuf/intro.html
#R #FlatGeobuf #CloudOptimized
Это один из довольно новых Cloud-Optimized Geospatial форматов. И можно прямо в QGIS подключить такие файлы по ссылке из интерента, и будут скачиваться и отображаться только фичи, которые попадают в область отображаемую на карте.
Вторая полезная функция, как по мне :
Очень удобно обменивать данные между R <- -> QGIS и поддерживает пространственные запросы прямо при чтении файла.
Т.е. можно читать не весь файл а только объекты в вашей зоне интереса.
И это можно делать не только с локальным файлом а и с файлом из интернета по ссылке.
В примере ниже чтение FlatGeobuf файла в R не полностью, а частично по зоне интереса
wkt и потом запись FlatGeobuf файла из simple features (sf)library(sf)
# Чтение FlatGeobuf файла по ссылке из интернета
geobuf_url <- "https://esa-worldcover.s3.eu-central-1.amazonaws.com/esa_worldcover_grid_composites.fgb"
wkt <- "POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),
(20 30, 35 35, 30 20, 20 30))"
# чтение всего файла из интернета
data <- read_sf(geobuf_url)
# Частичное чтение файла из интернета с фильтром по полигону
data_filtred <- read_sf(geobuf_url,
wkt_filter = wkt)
# Просмотр прочитанных данных
plot(data$geometry, col="blue")
plot(data_filtred$geometry, col="red", add = T)
# Запись FlatGeobuf файла локально в файловую систему
write_sf(data_filtred,
dsn="C:/Temp/my_data.fgb",
driver="FlatGeobuf",
delete_dsn= TRUE) # overwrite file
Подробнее про него можно почитать на официальных сайтах:
https://flatgeobuf.org/
https://guide.cloudnativegeo.org/flatgeobuf/intro.html
#R #FlatGeobuf #CloudOptimized
🔥4
установка QGIS в изолированную Conda среду
Иногда нужно собрать какую-то комбинацию очень специфических python библиотек для работы некоторых QGIS плагинов, при этом чтоб не поломалось то что и так работает.
И для этого хорошо подходит установка QGIS и необходимых дополнительных инструментов в изолированную от основной операционной системы среду.
Для этого нужно использовать Anaconda или Miniconda (инструкций по их установке множество)
Далее нужно запустить терминал в Anaconda-Navigator или в любом IDE «Интегрированная среда разработки», я использую Visual Studio Code.
Там при запуске нужно выбрать среду conda если она сама не подхватится.
далее в терминале вводить по очереди команды и дожидаться их выполнения. В этом примере я устанавливаю софт необходимый мне для расчетов потенциала солнечной энергии на крышах зданий:
дальше устанавливаем необходимые плагины через юзер интерфейс. в данном случае я доставляю UMEP и UMEP for processing. Но такой подход актуален и для установки других сложных плагинов типа PCRaster или Geo-SAM и т.д.
#qgis #pdal #conda #umep #install
Иногда нужно собрать какую-то комбинацию очень специфических python библиотек для работы некоторых QGIS плагинов, при этом чтоб не поломалось то что и так работает.
И для этого хорошо подходит установка QGIS и необходимых дополнительных инструментов в изолированную от основной операционной системы среду.
Для этого нужно использовать Anaconda или Miniconda (инструкций по их установке множество)
Далее нужно запустить терминал в Anaconda-Navigator или в любом IDE «Интегрированная среда разработки», я использую Visual Studio Code.
Там при запуске нужно выбрать среду conda если она сама не подхватится.
далее в терминале вводить по очереди команды и дожидаться их выполнения. В этом примере я устанавливаю софт необходимый мне для расчетов потенциала солнечной энергии на крышах зданий:
# создание среды qgis4solar_energy и установка туда QGIS LTR
conda create -n qgis4solar_energy -c conda-forge python=3.11 qgis=3.40.3
# подтвердить установку нажав "y"
# активировать среду
conda activate qgis4solar_energy
# проверим версию установленного QGIS
qgis --version
# устанавливаю другие необходимые тулы и библиотеки в эту же среду
# Solar / PDAL
conda install -n qgis4solar_energy -c conda-forge pysolar python-pdal
# SuPy зависимости
conda install -n qgis4solar_energy -c conda-forge \
pandas matplotlib chardet scipy pydantic \
f90wrap=0.2.16 dask f90nml seaborn cdsapi xarray \
multiprocess click lmfit numdifftools pvlib platypus-opt
# UMEP зависимости и немного больше
conda install -n qgis4solar_energy -c conda-forge \
numba=0.59.0 jaydebeapi=1.2.3 netCDF4 openpyxl rioxarray \
rasterio geopandas numpy laspy scipy shapely scikit-learn scikit-image
# можно устанавить библиотеки и чере pip если их нет в conda репозитории
python -m pip install xlrd xlwt xlutils ipykernel
python -m pip install "supy==2024.5.24.dev" atmosp target-py
# теперь можно запустить QGIS набрав в терминале:
qgis
дальше устанавливаем необходимые плагины через юзер интерфейс. в данном случае я доставляю UMEP и UMEP for processing. Но такой подход актуален и для установки других сложных плагинов типа PCRaster или Geo-SAM и т.д.
#qgis #pdal #conda #umep #install
🔥6👍1
PMTiles - Еще один крутой Cloud Optimized формат созданный для простой публикации геоданных в интернет.
Этот формат нацелен на отображения геоданных в браузере и представляет собой пирамиды тайлов собранные в единый файл.
Этот формат может хранить как векторные так и растровые тайлы. И способен содержать очень довольно большие данные внутри себя, и на клиент отдавать только нужные тайлы по GET запросу от клиента, без скачивания всего файла .pmtiles
Это позволяет публиковать даже очень большие растры и векторы без использования специальных программ или веб сервисов для рендеринга данных типа Geoserver, NextGIS web, ArcGIS Online etc.
Просто загружаете file.pmtiles на веб-хостинг или файловое хранилище типа AWS S3 и прямой URL-ссылкой на файл подключаете в свое приложение на MapLibre или Leaflet.
Базовые команды по созданию PMTiles:
1. Векторные PMTiles из векторного GeoJSON файла. Понадобится утилита
2. Растровые PMTiles из GeoTIFF файла. Понадобится утилита
Резюме: PMTiles Это очень крутой формат, если вам надо просто опубликовать векторные или растровые карты, и не хочется париться с установкой и настройкой geosever или аналога, или использовать сторонние Веб-ГИС сервисы.
Вот пример приложения в котором я подключил 23 растра (исходные Geotiff были по 1 Гб, а PMTiles получились по 500 Мб каждый), и 23 PMTiles с векторными тайлами внутри, по несколько мегабайт каждый. В итоге в облако было загружено более 13 Gb данных. Зацените скорость рендеринга: https://fra1.digitaloceanspaces.com/abspatial/demo/ghana-galamsey/index.html
Пошаговая инструкция по установке необходимого софта, скрипты генерации pmtiles на python, ключевые настройки при конвертации и примеры подключения в веб-приложение размещу в комментариях к оригинальному посту https://t.me/gis_notes/20
#web #rendering #CloudOptumized #tiles #PMTiles #vectortiles #tippecanoe #rio
Этот формат нацелен на отображения геоданных в браузере и представляет собой пирамиды тайлов собранные в единый файл.
Этот формат может хранить как векторные так и растровые тайлы. И способен содержать очень довольно большие данные внутри себя, и на клиент отдавать только нужные тайлы по GET запросу от клиента, без скачивания всего файла .pmtiles
Это позволяет публиковать даже очень большие растры и векторы без использования специальных программ или веб сервисов для рендеринга данных типа Geoserver, NextGIS web, ArcGIS Online etc.
Просто загружаете file.pmtiles на веб-хостинг или файловое хранилище типа AWS S3 и прямой URL-ссылкой на файл подключаете в свое приложение на MapLibre или Leaflet.
Базовые команды по созданию PMTiles:
1. Векторные PMTiles из векторного GeoJSON файла. Понадобится утилита
tippecanoe https://github.com/mapbox/tippecanoetippecanoe -zg --projection=EPSG:4326 -o "path/output_file.pmtiles" -l layer_name --coalesce-densest-as-needed --extend-zooms-if-still-dropping "path/input_file.geojson"
2. Растровые PMTiles из GeoTIFF файла. Понадобится утилита
rio pmtiles https://pypi.org/project/rio-pmtiles/rio pmtiles "path/input_file.tif" "path/otput_file.pmtiles" --format PNG --resampling nearest
Резюме: PMTiles Это очень крутой формат, если вам надо просто опубликовать векторные или растровые карты, и не хочется париться с установкой и настройкой geosever или аналога, или использовать сторонние Веб-ГИС сервисы.
Вот пример приложения в котором я подключил 23 растра (исходные Geotiff были по 1 Гб, а PMTiles получились по 500 Мб каждый), и 23 PMTiles с векторными тайлами внутри, по несколько мегабайт каждый. В итоге в облако было загружено более 13 Gb данных. Зацените скорость рендеринга: https://fra1.digitaloceanspaces.com/abspatial/demo/ghana-galamsey/index.html
Пошаговая инструкция по установке необходимого софта, скрипты генерации pmtiles на python, ключевые настройки при конвертации и примеры подключения в веб-приложение размещу в комментариях к оригинальному посту https://t.me/gis_notes/20
#web #rendering #CloudOptumized #tiles #PMTiles #vectortiles #tippecanoe #rio
GitHub
GitHub - mapbox/tippecanoe: Build vector tilesets from large collections of GeoJSON features.
Build vector tilesets from large collections of GeoJSON features. - mapbox/tippecanoe
🔥3
Grasslands датасеты в GEE
Наткнулся на интересные датасеты - результат работы Global Pasture Watch (Land and Carbon Lab)
Там доволно неплохо детектированы луга и степи стран Восточной Европы. Правда почти все они относятся к классу "Cultivated grassland" и только совсем малая часть относится к "Natural/Semi-natural grassland". Если сравнивать данные за разные даты, хорошо видна динамика потерь грасландов.
Временной диапазон: 2000–2022
Шаг прогноза: 1 год
Разрешение: 30 м/пикс
GPW Annual Dominant Class of Grasslands v1:
https://developers.google.com/earth-engine/datasets/catalog/projects_global-pasture-watch_assets_ggc-30m_v1_grassland_c
GPW Annual Probabilities of Cultivated Grasslands v1:
https://developers.google.com/earth-engine/datasets/catalog/projects_global-pasture-watch_assets_ggc-30m_v1_cultiv-grassland_p
GPW Annual Probabilities of Natural/Semi-natural Grasslands v1:
https://developers.google.com/earth-engine/datasets/catalog/projects_global-pasture-watch_assets_ggc-30m_v1_nat-semi-grassland_p
На страницах описания в GEE также есть ссылки на страницы от куда можно качнуть данные одним файлом на много гигабайт каждый.
Еще лично у меня вызвало интерес что эти датасеты построены на базе данных GLAD Landsat ARD-2 images Давно приматриваюсь к этому продукту и инструменту.
В этом примере объеденил визуализацию всех этих трех датасетов:
#gee #data #landcover #landuse #grassland
Наткнулся на интересные датасеты - результат работы Global Pasture Watch (Land and Carbon Lab)
Там доволно неплохо детектированы луга и степи стран Восточной Европы. Правда почти все они относятся к классу "Cultivated grassland" и только совсем малая часть относится к "Natural/Semi-natural grassland". Если сравнивать данные за разные даты, хорошо видна динамика потерь грасландов.
Временной диапазон: 2000–2022
Шаг прогноза: 1 год
Разрешение: 30 м/пикс
GPW Annual Dominant Class of Grasslands v1:
https://developers.google.com/earth-engine/datasets/catalog/projects_global-pasture-watch_assets_ggc-30m_v1_grassland_c
GPW Annual Probabilities of Cultivated Grasslands v1:
https://developers.google.com/earth-engine/datasets/catalog/projects_global-pasture-watch_assets_ggc-30m_v1_cultiv-grassland_p
GPW Annual Probabilities of Natural/Semi-natural Grasslands v1:
https://developers.google.com/earth-engine/datasets/catalog/projects_global-pasture-watch_assets_ggc-30m_v1_nat-semi-grassland_p
На страницах описания в GEE также есть ссылки на страницы от куда можно качнуть данные одним файлом на много гигабайт каждый.
Еще лично у меня вызвало интерес что эти датасеты построены на базе данных GLAD Landsat ARD-2 images Давно приматриваюсь к этому продукту и инструменту.
В этом примере объеденил визуализацию всех этих трех датасетов:
Map.setCenter(39.927, 48.231, 7);
Map.setOptions("HYBRID");
// Annual Probabilities of Cultivated Grasslands
var cultiv_grassland = ee.ImageCollection(
"projects/global-pasture-watch/assets/ggc-30m/v1/cultiv-grassland_p"
)
var min_prob = 32 // Probability threshold
var visParams = {min: 15, max: 85, palette: 'f5f5f5,fdaf27,ae7947,3a2200'}
var cultiv_grassland_2022 = cultiv_grassland.filterDate('2022-01-01', '2023-01-01').first();
Map.addLayer(
cultiv_grassland_2022.mask(cultiv_grassland_2022.gte(min_prob)),
visParams, 'Cultivated grassland prob. (2022)'
);
var cultiv_grassland_2000 = cultiv_grassland.filterDate('2000-01-01', '2001-01-01').first();
Map.addLayer(
cultiv_grassland_2000.mask(cultiv_grassland_2000.gte(min_prob)),
visParams, 'Cultivated grassland prob. (2000)',
false
);
// Annual Probabilities of Natural/Semi-natural Grasslands
var nat_semi_grassland = ee.ImageCollection(
"projects/global-pasture-watch/assets/ggc-30m/v1/nat-semi-grassland_p"
)
var min_prob = 42 // Probability threshold
var visParams = {min: 15, max: 85, palette: 'f7f1e5,af8260,803d3b,322c2b'}
var nat_semi_grassland_2022 = nat_semi_grassland.filterDate('2022-01-01', '2023-01-01').first();
Map.addLayer(
nat_semi_grassland_2022.mask(nat_semi_grassland_2022.gte(min_prob)),
visParams, 'Natural/Semi-natural grassland prob. (2022)'
);
var nat_semi_grassland_2000 = nat_semi_grassland.filterDate('2000-01-01', '2001-01-01').first();
Map.addLayer(
nat_semi_grassland_2000.mask(nat_semi_grassland_2000.gte(min_prob)),
visParams, 'Natural/Semi-natural grassland prob. (2000)',
false
);
// Annual Dominant Class of Grasslands
var domi_grassland = ee.ImageCollection(
"projects/global-pasture-watch/assets/ggc-30m/v1/grassland_c"
);
var visParams = {"opacity":1, "min":1,"max":2,"palette":["ffcd73","ff9916"]};
var domi_grassland_2022 = domi_grassland.filterDate('2022-01-01', '2023-01-01').first();
Map.addLayer(
domi_grassland_2022.selfMask(),
visParams, 'Dominant grassland class (2022)'
);
var domi_grassland_2000 = domi_grassland.filterDate('2000-01-01', '2001-01-01').first();
Map.addLayer(
domi_grassland_2000.selfMask(),
visParams, 'Dominant grassland class (2000)',
false
);
#gee #data #landcover #landuse #grassland
Google for Developers
GPW Annual Dominant Class of Grasslands v1
This dataset provides global annual dominant class maps of grasslands (cultivated and natural/semi-natural) from 2000 to 2022 at 30-m spatial resolution. Produced by the Land & Carbon Lab Global Pasture Watch initiative, the mapped grassland extent includes…
🔥6
Как скачать ArcGIS Feature layer на Python и экспортировать в GeoPackage.
Столкнулся с такой задачей и пободавшись с этой проблемой день нашел элегантное решение.
Предварительные шаги на скриншоте.
Важно скопировать ссылку на шаге "3" с правильной цифрой в конце.
#python #download #data #arcgis #agol
Столкнулся с такой задачей и пободавшись с этой проблемой день нашел элегантное решение.
Предварительные шаги на скриншоте.
Важно скопировать ссылку на шаге "3" с правильной цифрой в конце.
import pyogrio
OUT_GPKG = "arcgis_feature_layer.gpkg"
LAYER = "arcgis_feature_layer"
URL_service = "https://services.arcgis.com/mMUesHYPkXjaFGfS/ArcGIS/rest/services/Manitoba_Provincial_Forests___Version_6/FeatureServer/1"
url = (
f"{URL_service}"
"/query"
"?where=1%3D1"
"&outFields=*"
"&returnGeometry=true"
"&outSR=4326"
"&f=pjson" # ВАЖНО: ESRI JSON, не geojson
)
# ВАЖНО: префикс ESRIJSON: заставляет GDAL открыть именно этим драйвером
gdf = pyogrio.read_dataframe("ESRIJSON:" + url)
# Экспорт
gdf.to_file(
OUT_GPKG,
driver="GPKG",
layer=LAYER,
index=True,
mode="w",
engine="pyogrio"
)
#python #download #data #arcgis #agol
🔥4
Автоматическая корегистрация растров на Python
Если нужно совместить несколько немного разъехавшихся растров, на пример ортофотопланы за разные даты или ортофотоплан и космоснимок, без ручной привязки по точкам помогает AROSICS
больше примеров и описания параметров в коментариях к оригинальному посту>>
#python #raster #changedetection
Если нужно совместить несколько немного разъехавшихся растров, на пример ортофотопланы за разные даты или ортофотоплан и космоснимок, без ручной привязки по точкам помогает AROSICS
from arosics import COREG
INPUT_RASTER_1 = "orthophoto_025m.tif"
INPUT_RASTER_2 = "demo_sat_google_1m.tif"
OUTPUT_RASTER_1 = "sat_google_025m.tif"
# 1. Очистка лишних метаданных статистики
!gdal_edit.py -unsetstats {INPUT_RASTER_1}
!gdal_edit.py -unsetstats {INPUT_RASTER_2}
# 2. Инициализация AROSICS с параметрами ресемплинга
cr = COREG(INPUT_RASTER_1, INPUT_RASTER_2,
ws=(512, 512),
path_out=OUTPUT_RASTER_1,
max_shift=25,
resamp_alg_deshift='cubic',
match_gsd=True,
align_grids=True
)
# 3. Расчет сдвига
cr.calculate_spatial_shifts()
# 4. Применение сдвига и ресемплинга
cr.correct_shifts()
больше примеров и описания параметров в коментариях к оригинальному посту>>
#python #raster #changedetection
🔥6
Как создать DEM из облака точек или использоваие пайплайнов PDAL в python.
PDAL (Point Data Abstraction Library) — это библиотека для работы с облаками точекю.
Особеность в том что работает в конвеере который описывает шаги в JSON
Примеры скриптов для обрезки LAZ по полигону и генерации ЦМР в комментариях к оригинальному посту>>
#pdal #lidar #dem #dsm #pointcloud
PDAL (Point Data Abstraction Library) — это библиотека для работы с облаками точекю.
Особеность в том что работает в конвеере который описывает шаги в JSON
import json
import pdal
# Обрезка облака точек по экстенту
pipeline_clip_by_extent = [
{
"type": "readers.las",
"filename": input_laz_file
},
{
"type": "filters.crop",
"bounds": f"([{minx},{maxx}],[{miny},{maxy}])"
},
{
"type": "writers.las",
"filename": clipped_by_bbox_file
}
]
pipeline_json = json.dumps(pipeline_clip_by_extent)
print(pipeline_json)
pipeline = pdal.Pipeline(pipeline_json)
count = pipeline.execute()
arrays = pipeline.arrays
metadata = pipeline.metadata
log = pipeline.log
print(count)
Примеры скриптов для обрезки LAZ по полигону и генерации ЦМР в комментариях к оригинальному посту>>
#pdal #lidar #dem #dsm #pointcloud
👍4🔥2
Как установить Qt WebEngine на MacOS для работы плагина Qgis2threejs?
Нужно поставить/обновить PyQt5 + PyQtWebEngine внутри “встроенного” Python QGIS. По шагам:
0. Закрыть QGIS
1. нужно определить где именно установлен QGIS.
в системном терминале:
смотреть в списке
2. Удалить установленную версию библиотеки
3. установить новый
4. Зайти в QGIS и запустить модуль Qgis2threejs
#qgis #install #3d #macos #python
Нужно поставить/обновить PyQt5 + PyQtWebEngine внутри “встроенного” Python QGIS. По шагам:
0. Закрыть QGIS
1. нужно определить где именно установлен QGIS.
в системном терминале:
ls /Applications/
смотреть в списке
QGIS.app или QGIS-LTR.app . У меня LTR версия.2. Удалить установленную версию библиотеки
PyQt5:/Applications/QGIS-LTR.app/Contents/MacOS/bin/pip3 uninstall PyQt5
3. установить новый
PyQt5 и PyQtWebEngine:/Applications/QGIS-LTR.app/Contents/MacOS/bin/pip3 install PyQt5 PyQtWebEngine
4. Зайти в QGIS и запустить модуль Qgis2threejs
#qgis #install #3d #macos #python
🔥5
Если вы работаете с облаками точек LiDAR или фотограмметрии, PDAL — один из самых полезных инструментов.
Я опубликовал новую статью на Medium с практическим инструкциями по созданию конвееров PDAL и примерами, которые можно адаптировать к реальным задачам.
В статье:
- конвейер моделей PDAL
- как запустить конвейеры PDAL из Python
- как возвращать результаты в виде NumPy массива
- предпросмотр NumPy массива облака точек в виде таблицы при помощи
- как обрезать и объединять точки облаков
- как создать цифровую модель рельефа GeoTIFF из файла LAZ
Статья:
https://medium.com/@anton.biatov/pdal-in-python-a-practical-guide-to-point-cloud-pipelines-1f7e2bc3e2ea
Также я буду рад узнать какие инструменты работы с Point Clouds вы используете и почему имено их ?
Если используете ))
#pdal #pointcloud #python
Я опубликовал новую статью на Medium с практическим инструкциями по созданию конвееров PDAL и примерами, которые можно адаптировать к реальным задачам.
В статье:
- конвейер моделей PDAL
- как запустить конвейеры PDAL из Python
- как возвращать результаты в виде NumPy массива
- предпросмотр NumPy массива облака точек в виде таблицы при помощи
pandas и в виде изображения при помощи matplotlib- как обрезать и объединять точки облаков
- как создать цифровую модель рельефа GeoTIFF из файла LAZ
Статья:
https://medium.com/@anton.biatov/pdal-in-python-a-practical-guide-to-point-cloud-pipelines-1f7e2bc3e2ea
Также я буду рад узнать какие инструменты работы с Point Clouds вы используете и почему имено их ?
Если используете ))
#pdal #pointcloud #python
👍4🔥4
Как найти и верифицировать идею для стартапа - один из вариантов
Пару дней назад был на одном вебинаре для индихакеров где разбирали интересный и простой фреймворк поиска и проверки идеи для своего MicroSaaS проекта.
1. Выбор идеи
- зайти на какойто стор (Google Play, AppStore, Chrome Extension etc.)
- найти там решение которое отзывается и имеет +10K установок.
- взять одну важную функцию из этой апки
2. Подбор и проверка поискового Запроса
- придумать поисковые запросы под выбраную функцию
- проверить поисковые запросы в Google Trands (США, 1 год)
- сравнить с запросами "site blocker" и "adblocker"
- 🚩редфлаги: динамика хуже чем "site blocker", есть провалы на 0
3. Проверка Google выдачи по запросу.
- ✅если выдача в основном апки и Saas
- ❌если выдача в основном статьи
Пару дней назад был на одном вебинаре для индихакеров где разбирали интересный и простой фреймворк поиска и проверки идеи для своего MicroSaaS проекта.
1. Выбор идеи
- зайти на какойто стор (Google Play, AppStore, Chrome Extension etc.)
- найти там решение которое отзывается и имеет +10K установок.
- взять одну важную функцию из этой апки
2. Подбор и проверка поискового Запроса
- придумать поисковые запросы под выбраную функцию
- проверить поисковые запросы в Google Trands (США, 1 год)
- сравнить с запросами "site blocker" и "adblocker"
- 🚩редфлаги: динамика хуже чем "site blocker", есть провалы на 0
3. Проверка Google выдачи по запросу.
- ✅если выдача в основном апки и Saas
- ❌если выдача в основном статьи
Использование Nano Banana в QGIS для классификации изображения это просто отвал башки!
Я пробовал чтото подобное делать через чатбота, и выходило так себе. А тут чел сделал и супер органично используя API нано банана интегрировал в QGIS.
Зацените!
https://www.linkedin.com/posts/yvann-barbot_nano-banana-in-qgis-is-here-free-credits-ugcPost-7448801577374613504-eLGf?utm_source=social_share_send&utm_medium=android_app&rcm=ACoAABkUoxQBZl2oqzDgq8V6CpbhQHFIE8APQ-c&utm_campaign=copy_link
#QGIS #raster #ai #remotesensing #classication
Я пробовал чтото подобное делать через чатбота, и выходило так себе. А тут чел сделал и супер органично используя API нано банана интегрировал в QGIS.
Зацените!
https://www.linkedin.com/posts/yvann-barbot_nano-banana-in-qgis-is-here-free-credits-ugcPost-7448801577374613504-eLGf?utm_source=social_share_send&utm_medium=android_app&rcm=ACoAABkUoxQBZl2oqzDgq8V6CpbhQHFIE8APQ-c&utm_campaign=copy_link
#QGIS #raster #ai #remotesensing #classication
LinkedIn
Nano Banana🍌🍌 in QGIS is here, FREE credits to everyone hihihi so you can all try this crazy tech
Edit just anything with AI…
Edit just anything with AI…
Nano Banana🍌🍌 in QGIS is here, FREE credits to everyone hihihi so you can all try this crazy tech
Edit just anything with AI on your aerial imagery
Install the QGIS plugin in 10.68372 secondes :
Go to QGIS -> Plugins Panel -> "AI Edit by TerraLab" and…
Edit just anything with AI on your aerial imagery
Install the QGIS plugin in 10.68372 secondes :
Go to QGIS -> Plugins Panel -> "AI Edit by TerraLab" and…
🔥3👍2
Какие инструменты искуственного интелекта вы используете регулярно?
Anonymous Poll
62%
ChatGPT
32%
Gemini
16%
Claude
49%
DeepSeek
0%
Grok
14%
Qween
16%
Perplexity
16%
NotebookLM
11%
Другие тулы
3%
Искуственный интелект не использую, предпочитаю естественный
GeoParquet - Закладка на память
https://geoparquet.org/
https://guide.cloudnativegeo.org/geoparquet/
https://github.com/opengeospatial/geoparquet
GeoParquet Writing cookbook
https://www.geomermaids.com/cookbook/geoparquet/
GeoParquet Reading Cookbook
https://www.geomermaids.com/cookbook/reading/
#geoparquet #CloudOptimized
https://geoparquet.org/
https://guide.cloudnativegeo.org/geoparquet/
https://github.com/opengeospatial/geoparquet
GeoParquet Writing cookbook
https://www.geomermaids.com/cookbook/geoparquet/
GeoParquet Reading Cookbook
https://www.geomermaids.com/cookbook/reading/
#geoparquet #CloudOptimized
👍2
Как подключить DeepSeek в VS Code
1. настройка DeepSeek
- авторизируйтесь на https://platform.deepseek.com/
- пополните на 2 или 5$
- создайте API-key
2. в VS Code
- в правой части экрана панель "CHAT". По умолчанию в нем доступно Claude Haiku 4.5 с небольшим контекстным окном.
- внизу нажмите на "Auto" или "Claude Haiku 4.5".
- в выберите шестеренку справа от пункта "Other Model".
- в открывшемся окне будет список доступных моделей и размер доступного контекстного окна.
- нажмите [+ Add Models] и дальше [Custom Endpoint]
- вверху будет маленькое окно "Group Name" и введите в него имя, на пример "DeepSeek V4" и нажмите <Enter>
- введите API-key и нажмите <Enter>
- выберите "Chat Completions"
- далее откроется окно с JSON настройки агента.
дальше в коментарии к посту.
#ai #vscode #DeepSeek
1. настройка DeepSeek
- авторизируйтесь на https://platform.deepseek.com/
- пополните на 2 или 5$
- создайте API-key
2. в VS Code
- в правой части экрана панель "CHAT". По умолчанию в нем доступно Claude Haiku 4.5 с небольшим контекстным окном.
- внизу нажмите на "Auto" или "Claude Haiku 4.5".
- в выберите шестеренку справа от пункта "Other Model".
- в открывшемся окне будет список доступных моделей и размер доступного контекстного окна.
- нажмите [+ Add Models] и дальше [Custom Endpoint]
- вверху будет маленькое окно "Group Name" и введите в него имя, на пример "DeepSeek V4" и нажмите <Enter>
- введите API-key и нажмите <Enter>
- выберите "Chat Completions"
- далее откроется окно с JSON настройки агента.
дальше в коментарии к посту.
#ai #vscode #DeepSeek
👍3
Если вы работали с GBIF данными о биоразнообразии, то наверняка сталкивались с трудностями при использовании Darwin Core Archive в ГИС.
Я написал тулу "dwca-cloud-geospatial" - конвертер GBIF Darwin Core Archive biodiversity datasets into cloud-friendly geospatial formats, такие как GeoParquet и FlatGeobuf.
В результате генерируется бессерверное веб-ГИС-приложение, которое можно развернуть на GitHub Pages, S3 или любом обычном хостинге. И получите интерактивную карту просто из архива скачанного из GBIF.
Есть Графический интерфейс (GUI), интерфей командной строки (CLI) и Python API.
Краткое обзорное видео про этот инструмент: https://youtu.be/ixLtxP824Og
Статья на Medium >>
Google Colab Notebook >>
GitHub Репозиторий: ABiatov/dwca-cloud-geospatial
Опубликованное демонстрационное веб-приложение - результат конвертации >>
В материалах есть пример как подключать FlatGeobuf из интернета в QGIS и как делать SQL запросы к PeoParquet файлу используя Python библиотеку DuckDB.
#GBIF #DWCA #CloudOptumized #FlatGeobuf #geoparquet
Я написал тулу "dwca-cloud-geospatial" - конвертер GBIF Darwin Core Archive biodiversity datasets into cloud-friendly geospatial formats, такие как GeoParquet и FlatGeobuf.
В результате генерируется бессерверное веб-ГИС-приложение, которое можно развернуть на GitHub Pages, S3 или любом обычном хостинге. И получите интерактивную карту просто из архива скачанного из GBIF.
Есть Графический интерфейс (GUI), интерфей командной строки (CLI) и Python API.
Краткое обзорное видео про этот инструмент: https://youtu.be/ixLtxP824Og
Статья на Medium >>
Google Colab Notebook >>
GitHub Репозиторий: ABiatov/dwca-cloud-geospatial
Опубликованное демонстрационное веб-приложение - результат конвертации >>
В материалах есть пример как подключать FlatGeobuf из интернета в QGIS и как делать SQL запросы к PeoParquet файлу используя Python библиотеку DuckDB.
#GBIF #DWCA #CloudOptumized #FlatGeobuf #geoparquet
YouTube
How to Convert GBIF Darwin Core Archives into Cloud-Native Geospatial Data (FlatGeobuf & GeoParquet)
How to convert GBIF Darwin Core Archives (DwC-A) into FlatGeobuf and GeoParquet using dwca-cloud-geospatial. Build a serverless web GIS application that can be deployed to GitHub Pages, S3, or any static hosting. Reading Data in QGIS, Python & DuckDB.
In…
In…
👍7🔥1
Моделирование ареалов видов (SDM) с помощью Random Forest на R в Google Colab
Я подготовил пошаговый ноутбук и статью на Medium для исследователей и аналитиков, которые начинают работать с пространственным моделированием распространения видов (Species Distribution Modeling) или хотят оптимизировать свой воркфлоу в облаке.
В ноутбуке подробно разбирается весь геоаналитический цикл — от сырых данных до создания итоговой карты пригодности местообитаний (Habitat Suitability Map) на примере классического датасета по бурогорлому ленивцу (Bradypus variegatus) в Южной и Центральной Америке.
Что входит в пайплайн:
- Настройка облачного окружения: Запуск полноценного R-кода прямо в Python-среде Google Colab при помощи магии
- Подготовка пространственных данных: Работа с координатами находок вида и извлечение климатических предикторов (температура, осадки и др.) из растровых слоев пакета
- Генерация псевдо-отсутствий: Создание фоновых точек (pseudo-absences), необходимых для обучения алгоритма классификации.
- Машинное обучение (Random Forest): Разбиение выборки на обучение (75%) и тест (25%), настройка модели на 500 деревьев и анализ экологической важности предикторов (`MeanDecreaseAccuracy` и `MeanDecreaseGini`).
- Оценка качества и валидация: Проверка на тестовых данных, расчет метрики AUC (~0.96), построение ROC-кривой, а также детальный обзор критериев для выбора порога бинарной классификации (`spec_sens`,
- Пространственное прогнозирование: Проектирование обученной модели на карту и наглядная визуализация непрерывной карты вероятностей рядом с бинарной картой ареала.
Ноутбук отлично подойдет экологам, биогеографам, GIS-специалистам и дата-саентистам, желающим освоить пространственный ML на практике.
Ссылка на статью в Medium: https://medium.com/@anton.biatov/species-distribution-modeling-sdm-with-random-forest-in-r-on-colab-bc6f7f1d4a5b
Ссылка на Google Colab: https://colab.research.google.com/drive/1vxFNtyQkvUQ4RQzQeEkAv0puuqWGuI1l?usp=sharing
#SDM #R #colab #RandomForest
Я подготовил пошаговый ноутбук и статью на Medium для исследователей и аналитиков, которые начинают работать с пространственным моделированием распространения видов (Species Distribution Modeling) или хотят оптимизировать свой воркфлоу в облаке.
В ноутбуке подробно разбирается весь геоаналитический цикл — от сырых данных до создания итоговой карты пригодности местообитаний (Habitat Suitability Map) на примере классического датасета по бурогорлому ленивцу (Bradypus variegatus) в Южной и Центральной Америке.
Что входит в пайплайн:
- Настройка облачного окружения: Запуск полноценного R-кода прямо в Python-среде Google Colab при помощи магии
%%R, а также установка системных C++ библиотек для пространственного анализа (GDAL, PROJ, GEOS) без необходимости локальной настройки RStudio.- Подготовка пространственных данных: Работа с координатами находок вида и извлечение климатических предикторов (температура, осадки и др.) из растровых слоев пакета
dismo.- Генерация псевдо-отсутствий: Создание фоновых точек (pseudo-absences), необходимых для обучения алгоритма классификации.
- Машинное обучение (Random Forest): Разбиение выборки на обучение (75%) и тест (25%), настройка модели на 500 деревьев и анализ экологической важности предикторов (`MeanDecreaseAccuracy` и `MeanDecreaseGini`).
- Оценка качества и валидация: Проверка на тестовых данных, расчет метрики AUC (~0.96), построение ROC-кривой, а также детальный обзор критериев для выбора порога бинарной классификации (`spec_sens`,
no_omission и др.).- Пространственное прогнозирование: Проектирование обученной модели на карту и наглядная визуализация непрерывной карты вероятностей рядом с бинарной картой ареала.
Ноутбук отлично подойдет экологам, биогеографам, GIS-специалистам и дата-саентистам, желающим освоить пространственный ML на практике.
Ссылка на статью в Medium: https://medium.com/@anton.biatov/species-distribution-modeling-sdm-with-random-forest-in-r-on-colab-bc6f7f1d4a5b
Ссылка на Google Colab: https://colab.research.google.com/drive/1vxFNtyQkvUQ4RQzQeEkAv0puuqWGuI1l?usp=sharing
#SDM #R #colab #RandomForest
Medium
Species Distribution Modeling (SDM) with Random Forest in R on Colab
This article is a step-by-step guide for researchers who are beginning to work with Species Distribution Modeling (SDM).
👍7👏1