Изменить название полей с помощью ogr2ogr в geojson или gml

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
alladuh
Новоприбывший
Сообщения: 9
Зарегистрирован: 05 сен 2018, 14:46
Репутация: 0
Откуда: Воронеж

Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение alladuh » 05 сен 2018, 14:52

На просторах интернета нашёл как изменить название полей в shp файлах (просто делается выборка по нужным полям и изменяется их название)
А можно ли как-то сделать также только в geojson или gml файлах?
И ещё один вопрос: менять нзвание полей можно только когда делаешь выборку. Например:

Код: Выделить всё

ogr2ogr outputfile.shp inputfile.shp -sql "SELECT oldfield1 AS newfield1, oldfield2 AS newfield2 from inputfile"
или можно просто как-то изменить название определённого поля в файле и всё, а другие поля не трогать?

UPD Понял как сделать из json в gml с изменением названия поля. Но только с помощью sql запроса

Код: Выделить всё

ogr2ogr -f "GML" test1.gml PS_points.geojson -sql "SELECT FROM_OPORA AS NAME from PS_points"
Есть ли способ просто в файле изменить название поля без всяких выборок?

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение trir » 05 сен 2018, 15:32

Есть ли способ просто в файле изменить название поля
просто в файле изменить название поля

alladuh
Новоприбывший
Сообщения: 9
Зарегистрирован: 05 сен 2018, 14:46
Репутация: 0
Откуда: Воронеж

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение alladuh » 05 сен 2018, 15:40

trir писал(а):
05 сен 2018, 15:32
просто в файле изменить название поля
А если полей 60000?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение Игорь Белов » 05 сен 2018, 16:25

Это же просто текстовые файлы.

Код: Выделить всё

cat inputfile.json | sed 's|"oldfield1":|"newfield1":|' | sed 's|"oldfield2":|"newfield2":|' | … > outputfile.json
The purpose of computing is insight, not numbers

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение trir » 06 сен 2018, 07:54

А если полей 60000?
а какая разница? если в блкноте нажать "Заменить все"

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение gamm » 06 сен 2018, 08:59

trir писал(а):
06 сен 2018, 07:54
а какая разница? если в блкноте нажать "Заменить все"
у полей имена разные, как я понял.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение trir » 06 сен 2018, 09:08

тогда в любом случае нужна автоматизация - python, powershell

alladuh
Новоприбывший
Сообщения: 9
Зарегистрирован: 05 сен 2018, 14:46
Репутация: 0
Откуда: Воронеж

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение alladuh » 06 сен 2018, 10:17

по ошибке
Последний раз редактировалось alladuh 06 сен 2018, 10:19, всего редактировалось 1 раз.

alladuh
Новоприбывший
Сообщения: 9
Зарегистрирован: 05 сен 2018, 14:46
Репутация: 0
Откуда: Воронеж

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение alladuh » 06 сен 2018, 10:18

Игорь Белов писал(а):
05 сен 2018, 16:25
Это же просто текстовые файлы.
КОД: ВЫДЕЛИТЬ ВСЁ

cat inputfile.json | sed 's|"oldfield1":|"newfield1":|' | sed 's|"oldfield2":|"newfield2":|' | … >
А такую команду для cmd случайно не знаете?

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение trir » 06 сен 2018, 10:37

(Get-Content c:\temp\test.txt) -replace '\[MYID\]', 'MyValue' | Set-Content c:\temp\test.txt
https://stackoverflow.com/questions/171 ... powershell

в n++ есть возможность применить замену сразу к куче файлов

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение Игорь Белов » 06 сен 2018, 11:59

gamm писал(а):
06 сен 2018, 08:59
у полей имена разные, как я понял
В постановке вопроса речь только об одном поле. Думаю, автор имеет в виду не число полей, а число записей, поскольку в XML-файлах имена полей повторяются в каждой записи.

Если число переименуемых полей невелико, trir прав, существует огромное множество текстовых редакторов, которые решат задачу через автоматический поиск и замену в файле/открытых файлах/файлах в указанной папке.
The purpose of computing is insight, not numbers

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение gamm » 06 сен 2018, 17:06

alladuh писал(а):
06 сен 2018, 10:18
А такую команду для cmd случайно не знаете?
поставьте эмулятор Linux, их полно.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Изменить название полей с помощью ogr2ogr в geojson или gml

Сообщение Игорь Белов » 06 сен 2018, 20:14

gamm писал(а):
06 сен 2018, 17:06
поставьте эмулятор Linux, их полно
Далеко ходить не надо, — в настройках OSGeo4W добавьте пакет MSYS, и получите отличный эмулятор терминала.
The purpose of computing is insight, not numbers

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей