Suleyma
(Сергей)
61
Может просто наименований нет? У первых попавшихся трех. Выведите еще колонку osm_id, посмотрю у себя, у меня local развернут.
Чтобы потом обновления накатывать.
Surly
(Surly)
62
Это нормально, просто сообщение об ошибке сформулировано неудачно. На самом деле таблица, которая не существует – создаётся.
Причём, это поведение описано в документе http://switch2osm.org/serving-tiles/manually-building-a-tile-server-12-04/ , раздел “Importing data into the database”:
defond
64
Вопрос - есть вариант sql-запросом рассчитать:
- Расстояние между двумя точками
- Азимут из точки на какую-то другую точку (извините за каламбур, подвисаю на работе)
Suleyma
(Сергей)
65
Конечно.
ST_Azimuth — Returns the angle in radians from the horizontal of the vector defined by pointA and pointB
ST_Distance — For geometry type Returns the 2-dimensional cartesian minimum distance (based on spatial ref) between two geometries in projected units. For geography type defaults to return spheroidal minimum distance between two geographies in meters.
defond
67
При расчете дистанции, нужно указывать (как я понял) район, в котором проводятся расчеты, чтобы учесть искривление поверхности Земли. Т.е. вот это:
units in planar degrees 4326 is WGS 84 long lat unit=degrees
где их можно посмотреть?
defond
68
Чего то я плыву совсем…
Делаю запрос:
SELECT 'point' AS type,ST_X(way) AS lon,ST_Y(way) AS lat,aeroway,name FROM planet_osm_point
WHERE aeroway IN ('airport','aerodrome')
UNION
SELECT 'polygon' AS type,ST_X(ST_Centroid(way)) AS lon,ST_Y(ST_Centroid(way)) AS lat,aeroway,name FROM planet_osm_polygon
WHERE aeroway IN ('airport','aerodrome') LIMIT 50;
Получил я координаты:
"polygon";4359829.4534671;5627019.51677918;"aerodrome";"Международный аэропорт Краснодар"
А что мне показывает этот запрос? О_о

Координаты “Международный аэропорт Краснодар” - 45°02′04″ с. ш. 39°09′00″ в. д.
Вот страничка Вики - Аэропорт Краснодар
Мягко говоря, я не понимаю… 
defond
69
Добрый человек подсказал:
Это EPSG:3857 тебе нужна EPSG:4326.
Таким образом нужно получить данные в EPSG:4326. Ищу пример запроса.
Собственно вместо way надо использовать ST_Transform(way,4326) и получим геометрию в 4326.
defond
71
Все работает! Спасибо огромное!
Вот такой запрос нужен для получения координат в “правильном” виде. (вдруг кому пригодится) 
SELECT 'point' AS type,ST_X(ST_Transform(way,4326)) AS lon,ST_Y(ST_Transform(way,4326)) AS lat,aeroway,name FROM planet_osm_point
WHERE aeroway IN ('airport','aerodrome')
UNION
SELECT 'polygon' AS type,ST_X(ST_Centroid(ST_Transform(way,4326))) AS lon,ST_Y(ST_Centroid(ST_Transform(way,4326))) AS lat,aeroway,name FROM planet_osm_polygon
WHERE aeroway IN ('airport','aerodrome') LIMIT 3;
Suleyma
(Сергей)
72
Мне кажется, более естественно сразу загружать в 4326 (--proj 4326). Оно и запросы проще будут.
select name from planet_osm_polygon where st_dwithin(way, st_transform(setsrid(makepoint(39.0900,45.0204),4326),900913)::geometry,1);
или
select name from planet_osm_polygon where st_dwithin(way, setsrid(makepoint(39.09,45.02),4326)::geometry,1);
Suleyma
(Сергей)
73
Вообще удобнее работать с типом geography, для него всякие там ST_Distance, ST_DWithin, пользуют метры.
ST_Distance(ST_Transform(way,4326)::geography, SetSRID(MakePoint(lon,lat),4326)::geography)
defond
74
Спасибо. Попробую. 
Только если можно - объясняйте чуть проще, я не специалист вообще, тяжеловато разобраться.
Через пару недель будет проще, а сейчас тяжело еще.
akks
75
Я попробовал скомпилировать свежий osm2pgsql на Visual Studio.
Пришлось поправлять исходники, pbf поддержать не получилось (кто-нибудь видел живой protobuf-c для Windows?).
Кому интересно, можете потестировать: https://dl.dropboxusercontent.com/u/63393258/osm2pgsql_win_unstable.zip
Исходный код (переписал под cmake): https://github.com/alex85k/osm2pgsql. (нужен VS2013, он более совместим c C99).
(может затребовать runtime: http://www.microsoft.com/ru-ru/download/details.aspx?id=40784)
Suleyma
(Сергей)
76
Может подскажет кто. Почему osm2pgsql может не загрузить точку из данных? Смотрю загрузку osmosis-ом точка есть, osm2pgsql - нет. Соответственно и дорога поличилась обрезана. например node - 2246232221, way - 215216040
akks
77
64-битные ID в некоторых сборках по умолчанию выключены, особенно если под Windows 
Кто-нибудь знает рабочую сборку, кроме моей экспериментальной из предыдущего поста?
А там случаем не составная дорога? один и тот же osm_id могут иметь несколько рядов в таблицах
Suleyma
(Сергей)
79
Да нет, обычная дорога. В JOSM немного её обновил, теперь нормально. а было так:
Suleyma
(Сергей)
80