Useful GIS notes and more
73 subscribers
22 photos
20 links
My notes on GIS and more
Download Telegram
Как создать DEM из облака точек или использоваие пайплайнов PDAL в python.

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.

в системном терминале:
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 массива облака точек в виде таблицы при помощи 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
- если выдача в основном статьи
Какие инструменты искуственного интелекта вы используете регулярно?

в опросе ниже можно можно поставить несколько пунктов.
Вы используете данные GBIF, iNaturalist или каки-то еще подобных сервисов?

Если используете, могли бы написать в комментариях для решения каких задач?
Как подключить 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
👍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
👍7🔥1
Моделирование ареалов видов (SDM) с помощью Random Forest на R в Google Colab

Я подготовил пошаговый ноутбук и статью на 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
👍7👏1