Size: a a a

2021 April 09

AB

Andrey Borodin in PostGIS
Функцию для сортированного построения в опкласс постгиса можно добавить хоть сейчас. А вот построить create index on t using gist(geometry, int); пока нельзя
источник
2021 April 15

YZ

Yuriy Zykin in PostGIS
Не подскажите, встречал ли кто нибудь БД с данными Почты РФ: Индекс, Адрес, Координата? Есть https://vinfo.russianpost.ru/database/ops.html а так же https://dadata.ru/api/suggest/postal_unit/ запрашивать можно... Да не хочется >50тыс запросов слать )) Это на 5 дней если с одним API ключем...
источник

f

fr1 in PostGIS
про геоданные в РФ - это либо OSM, либо отсутствуют
источник
2021 April 16

YZ

Yuriy Zykin in PostGIS
С почтой разобрался )) руками надо собирать, соберем...
источник

YZ

Yuriy Zykin in PostGIS
а вот вопрос, как к координате прибавить скажем 10км на север?
источник

YZ

Yuriy Zykin in PostGIS
как бы ST_Distance... только вычислить наоборот, есть дистанция, надо вторую координату
источник

f

fr1 in PostGIS
прямая геодезическая задача
источник

В

Вячеслав in PostGIS
источник

YZ

Yuriy Zykin in PostGIS
Вячеслав, то что надо! 🤝
источник

МИ

Максим Исаев... in PostGIS
Всем привет! Подскажите плиз закинул мулти координаты мултиполигона в db таким способом:
            ST_Force3D(
               (ST_DUMP(
                   ST_SetSRID(
                       ST_GeomFromGeoJSON('$polygons'),
                       4326)
                   )
               ).geom
           )
Теперь надо наоборот получать с них json
Такой способ возвращает только поштучно полигоны
ST_AsGeoJSON(polygons)
а вот как сложить их в мультиполигон?
источник

MT

Mikhail Tyurin in PostGIS
а зачем?
источник

b

batyrmastyr in PostGIS
Никак. Вы мультиполигоны раздробили на обычные полигоны (ST_Dump) и не сохранили, в какой мульт они входили, судя по приведённому коду.
источник

МИ

Максим Исаев... in PostGIS
Ок а как более правильно все записать в бд чтоб можно было обратно собирать?
источник

МИ

Максим Исаев... in PostGIS
Нужно обратно плучать Json c данными полигонов
источник

b

batyrmastyr in PostGIS
База спокойно и мультиполигон сохранит. ST_SetSRID(
 ST_GeomFromGeoJSON('$polygons'),
     4326)
 )
Может быть даже ST_SetSRID можно выкинуть, сходу не вспомню.
источник

МИ

Максим Исаев... in PostGIS
А тип какой? У меня сейчас geometry(GeometryZ,4326)
источник

b

batyrmastyr in PostGIS
Ну, если Z, то вам точно не подойдёт
ST_Force3D(
 ST_SetSRID(ST_GeomFromGeoJSON('$polygons'),4326)
)
? Возможно проще будет брать нужный полигон через GeometryN.
Если всё же собирать обратно, посмотрите на ST_Collect и как-то сохраняйте к какому мульту относится сохранённый полигон.
источник

МИ

Максим Исаев... in PostGIS
Я буквально пару часов назад начал изучать эту тему с postGis возможно и тип я выбрал не правильно, основное требование такое чтоб сохранить данные в бд, проиндексированить, по точке найти нужный полигон и получать центройд полигона. А так же расконыертировать обратно в Json c мультиполигоном.
источник

МИ

Максим Исаев... in PostGIS
сответвенно нужно понять какой тип выбрать, как сохранять json такого типа
"polygons": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
55.752063097,
37.572198837
],
[
55.752424991,
37.573485057
],
[
55.75261546,
37.574147935
],

И как уже оттуда получать центроид и искать полигон по точке
источник

b

batyrmastyr in PostGIS
В обычный geometry. Я бы сказал, что вам хватит проверки на систему координат + разрешить обычные полигоны и мульты. ST_Centroid нормально работает с чем угодно.
источник