Страница 1 из 1
SHP to SXF
Добавлено: 08 авг 2017, 17:14
evgen_sobolev
Пишу либу преобразования SHP в SXF.
Да да, знаю, зачем это нужно если есть GDAL и вроде Панорама худо бедно справляется с этой задачей, но такова прихоть руководства:)
Вопрос следующий: в sxf вместе с описание объекта хранится его симантическое описание и так называемый классификационный код, который совместно с классификатором rsc говорит нам что у нас данная линия это к примеру река или изолиния. В shp же храниться исключительно метрическая информация, вся атрибутивная информация храниться в файле dbf. Но какого либо конкретного описывающего семантику объектов документа для dbf не нашел, и существует ли он вообще? Если нет то как отличить реки от дорог и тому подобное? Или крупные дороги от мелких?
Re: SHP to SXF
Добавлено: 08 авг 2017, 17:27
trir
вопрос не имеет смысла
Re: SHP to SXF
Добавлено: 08 авг 2017, 17:33
evgen_sobolev
Почему же? Хочу узнать существует ли в shp и dbf что-то подобное классификационному коду в sxf rsc?
Если существует можно ли ссылочку? Если нет, то как отличить шоссе от проселочной дороги?
И существует ли какое-либо узкое(заточенное под shp) описание dbf?
Re: SHP to SXF
Добавлено: 08 авг 2017, 17:36
trir
никак, может быть любая семантика - какую придумаешь
В этом отличие обычных ГИС от недо-ГИС Панорама
Re: SHP to SXF
Добавлено: 08 авг 2017, 17:44
evgen_sobolev
Допустим. Но как тогда Панорама преобразует из SHP в SXF?
Re: SHP to SXF
Добавлено: 08 авг 2017, 17:53
nadiopt
ну перед преобразованием надо таки вбить в атрибутику, что это, если это все один слой
Re: SHP to SXF
Добавлено: 08 авг 2017, 18:19
Игорь Белов
evgen_sobolev писал(а):как тогда Панорама преобразует из SHP в SXF?
Некоторое поле заполняете значениями кодов классификатора в соответствии с выбранным ресурсным файлом, внимательно и аккуратно. Кроме того, многие классы требуют ввода дополнительной семантики, например, значения высот для объектов рельефа. Они должны быть забиты в другие поля. При импорте в Панораму крутите головой на 180 градусов, чтобы ничего не упустить.
А лучше начать с конца. Если есть готовая карта в Панораме на этом ресурсном файле, экспортируйте карту в шейпы и используйте их в качестве образца.
Полезно также сравнить с возможностями импорта MIF/MID. Если они окажутся более гибкими, лучше перегнать шейпы в MIF'ы перед импортом.
Re: SHP to SXF
Добавлено: 28 авг 2017, 11:26
Алекс
Есть два варианта сопоставления типа объекта в SHP (в DBF) и в RSC.
1. В RSC названия ключей объектов делаете аналогичными коду объекта в DBF. Но при загрузке все равно "ручками" нужно будет выбрать поле DBF, в котором эти коды сидят.
2. В случае загрузки по стандартному классификатору - подготовить табличку соответствия и ее потом использовать.
Вопрос: используете ли Вы API-интерфейс Панорамы?
Если да:
Кроме того, если в одной исходной таблице есть объекты с перспективно разными кодами - можно использовать механизм серий (изначально объект регистрируется с обобщенным кодом, а при добавлении соответствующей семантики - код изменяется автоматически).
Кстати, в состав GisToolKit входит уже готовая такая либа: gisshptomap.dll.
Во вложении - текст функции разбора атрибутов DBF (на Панорама-API), используемой при импорте SHP в gisshptomap.dll.
Re: SHP to SXF
Добавлено: 30 авг 2017, 10:25
Игорь Лебедь
evgen_sobolev писал(а): ↑08 авг 2017, 17:33
Почему же? Хочу узнать существует ли в shp и dbf что-то подобное классификационному коду в sxf rsc?
Конечно, не существует. Только
массовые расстрелы костыли. Как мы конвертили панораму в шейпы: 1) либо выбираешь по типу объекта (или виду, забыл точно) все однотипные объекты панорамы, экспортируешь каждый тип в шейп; 2) конвертишь всё в шейп, потом селектами или просто настройкой проекта QGIS или ArcGIS выбираешь типа ObjectType=0111000111 и настраиваешь вид символов в проекте QGIS или ArcGIS. Самое страшное - это "векторные объекты" - такого типа геометрии не существует, тут собраны атавизмы символов топокарт, к ним прилагаются наборы извращений типа вид объекта зависит от его длины, угла поворота или прочих атрибутов - тоже настраивается, но не так просто.
То есть, по существу - в шейп не существует аналога rsc (есть какие-то стили в арке, файлы стилей в QGIS, но это тоже сбоку припёки), самый простой способ решения - просто настроить проект QGIS или ArcGIS под отображение выбранного классификатора rsc, если просто разделить объекты - достаточно корректно выгрузить и разобрать селектом по типам. Если ещё настроить "векторную" гадость панорамы, то потребуется изворотливость. И ещё стоит помнить, что классификаторов в панораме - не один десяток, соответственно отображение объектов, даже одних и тех же, может быть разное (ну как на топокартах, в условных знаках разных масштабов, так как для разных масштабов у панорамы соответствующие классификаторы).