Я экспортирую шейп-файл из базы данных PostgreSQL, используя phsql2shp из пакета PostGIS на Linux (используя WSL на Windows). Я указываю файл сопоставлений с параметром -m
. Проблема в том, что отображение не работает. Например, это команда, которую я выполняю:
#dump_data.sh
pgsql2shp -kf shapefile.shp -m mappings.txt -h host_ip \
-u shema_name -P password db_name \
"SELECT * FROM table_name limit 10"
, и это файл mapping.txt
, который я использую:
#mapping.txt
play PlayDesign \n
play_section AcrIdent \n
Полученный шейп-файл имеет следующие имена столбцов :
По некоторым причинам первое сопоставление прошло успешно, но не второе, которое должно быть AcrIdent
, а не"play_secti"
Я подозреваю, что это как-то связано со схемой EOL (конец строки). Я установил код Visual Studio равным CRLF
для файла mapping.txt
.
Примечание : в идеале я хотел бы указать имя длиной более 10 символов для получающегося столбца, но похоже, что это ограничение ShapeFiles