Упростить точки в KML с помощью регулярных выражений - PullRequest
0 голосов
/ 17 ноября 2011

Я пытаюсь сократить размер файла kml, который у меня есть.

Координаты для полигонов такие точные:

-113.52106535153605,53.912817815321503,0.

Я не очень хорошо разбираюсь в регулярных выражениях, но я думаю, что было бы возможно написать тот, который выбирает восемь символов перед запятыми. Я бы запустил поиск и замену, чтобы результат был

-113.521065,53.9128178,0.

Любые эксперты по регулярным выражениям думают, что это возможно?

Ответы [ 3 ]

0 голосов
/ 17 ноября 2011

Попробуйте это

\d{8}(?=,)

и заменить пустой строкой

Посмотри здесь на Regexr

0 голосов
/ 25 ноября 2013

Мне просто нужно было сделать то же самое.Это perl вместо sed, но он будет искать строку из восьми непрерывных цифр, а затем заменяет любое количество непрерывных цифр на пустые.Это отлично работало.

cat originalfile.kml |perl -pe 's / (? <= \ d {8}) \ d * // g'> Shortenedfile.kml

0 голосов
/ 17 ноября 2011

Вот то, что может работать.Заменяет 8 символов и кому на кому: s / (. {8}), /, / g;

echo "-113.52106535153605,53.912817815321503,0."|sed 's /. \ {8 \}, /, /'

Таким образом, вы можете отследить файл, который вам нужен, с помощью команды sed, например:

cat file.kml |sed 's /. \ {8 \}, /, /'> newfile.kml

...