Некогда столкнулся с тем, что если наимпортировать гугловских областей в Сас, последний начинает безбожно тормозить (см. тему). Я решил проблему так - примерно прикинул, за какими пределами детали покрытия мне неинтересны и их можно удалить. С запасом прикинул. Возиться со сложными границами не стал, взял допущение, что это прямоугольник и что все углы положительные (в северно-восточном полушарии). Дальше наваял простой и дубовый батник по аккуратному вырезанию областей за пределами этого прямоугольника.
Для работы с регэкспами я давно использую свободную портированную с никсов утилитку sed. Можно и что-то другое, конечно, но очень уж потрясает её скорость работы и простота задания условий в большинстве случаев. Сам батник:
chcp 1251
rem ## Очистка после импорта гугловских полигонов покрытия. Иностранные неинтересны.
rem ## Далёкие тоже неинтересны
rem # прямоугольник: широта(lat) 44.0-63.1, долгота(lon) 22.0-53.0 - очень примерный, c запасом
rem # первое условие - давно исправленный баг 203 про непустые имена, но пусть будет.
rem # второе - снести нахрен индексы (Полигон 100)
"path\to\sed.exe" ^
-e "s/name=\"0\"/name=\"\"/g" ^
-e "s/name=\"Полигон [0-9]*\"/name=\"\"/g" ^
-e "s/name=\"Untitled Polygon\"/name=\"\"/g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)onR=\"\-[0-9.]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)onR=\"[0-9].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)onR=\"1[0-9].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)onR=\"2[01].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)onL=\"5[3456789].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)onL=\"[6789][0-9].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)onL=\"[0-9][0-9][0-9].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)atT=\"\-[0-9.]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)atT=\"[0-9].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)atT=\"[123][0-9].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)atT=\"4[0123].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)atB=\"63.[23456789][0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)atB=\"6[456789].[0-9]*\" [^>]*>//g" ^
-e "s/<ROW [^>]* name=\"\" [^>]* \(L\|l\)atB=\"[789][0-9].[0-9]*\" [^>]*>//g" ^
marks.sml > marks_cleaned.sml
pause
Батник находится в той же папке, что и Сас. В принципе, легко отвязываемо, но надо ли?
Новый, прореженный файл меток получается в marks_cleaned.sml - автобэкап marks.sml и замену его новым не стал делать. При первых запусках лучше внимательно просматривать различия в файлах и переименовывать вручную.