Как мне улучшить свою стратегию? Кажется, расчеты займут как минимум неделю, и меня беспокоит возможность неожиданного выключения моего компьютера. Наконец, я хочу использовать Python или что-то еще для анализа всей статистики области, такой как график размера ранга.
Сначала я использую osm2pgsql для импорта файла PBF (planet.osm .pbf) в PostgreSQL с помощью osm2pgsql -d GlobalOSM -U postgres -H localhost -P 5432 -C 96000 --number-processes 56 --create --slim --drop -G --hstore -W --proj 54009 планета.osm.pbf . Теперь я использую PostGIS для расчета площади.
ALTER TABLE planet_osm_polygon ADD COLUMN area_m2 DOUBLE PRECISION;
CREATE INDEX idx_planet_osm_polygon_way ON planet_osm_polygon USING GIST(way);
DO $$
DECLARE
batch_size INTEGER := 10000;
batch_offset INTEGER := 0;
total_rows INTEGER := 0;
BEGIN
SELECT COUNT(*) INTO total_rows FROM planet_osm_polygon;
LOOP
UPDATE planet_osm_polygon
SET area_m2 = ST_Area(way)
WHERE osm_id IN (
SELECT osm_id
FROM planet_osm_polygon
ORDER BY osm_id
LIMIT batch_size OFFSET batch_offset
);
batch_offset := batch_offset + batch_size;
RAISE NOTICE 'Updated % rows out of %', batch_offset, total_rows;
EXIT WHEN batch_offset >= total_rows;
END LOOP;
END $$;
Подробнее здесь: https://stackoverflow.com/questions/793 ... ean-all-fe
Как я могу эффективно измерить площадь каждого глобального объекта OSM (я имею в виду все объекты по всему миру)? ⇐ Python
Программы на Python
1736387773
Anonymous
Как мне улучшить свою стратегию? Кажется, расчеты займут как минимум неделю, и меня беспокоит возможность неожиданного выключения моего компьютера. Наконец, я хочу использовать Python или что-то еще для анализа всей статистики области, такой как график размера ранга.
Сначала я использую osm2pgsql для импорта файла PBF (planet.osm .pbf) в PostgreSQL с помощью osm2pgsql -d GlobalOSM -U postgres -H localhost -P 5432 -C 96000 --number-processes 56 --create --slim --drop -G --hstore -W --proj 54009 планета.osm.pbf . Теперь я использую PostGIS для расчета площади.
ALTER TABLE planet_osm_polygon ADD COLUMN area_m2 DOUBLE PRECISION;
CREATE INDEX idx_planet_osm_polygon_way ON planet_osm_polygon USING GIST(way);
DO $$
DECLARE
batch_size INTEGER := 10000;
batch_offset INTEGER := 0;
total_rows INTEGER := 0;
BEGIN
SELECT COUNT(*) INTO total_rows FROM planet_osm_polygon;
LOOP
UPDATE planet_osm_polygon
SET area_m2 = ST_Area(way)
WHERE osm_id IN (
SELECT osm_id
FROM planet_osm_polygon
ORDER BY osm_id
LIMIT batch_size OFFSET batch_offset
);
batch_offset := batch_offset + batch_size;
RAISE NOTICE 'Updated % rows out of %', batch_offset, total_rows;
EXIT WHEN batch_offset >= total_rows;
END LOOP;
END $$;
Подробнее здесь: [url]https://stackoverflow.com/questions/79341153/how-can-i-efficiently-measure-the-area-of-each-global-osm-feature-i-mean-all-fe[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия