Преобразование списка стройных линий - лучшие практики? - PullRequest
0 голосов
/ 28 февраля 2020

Вопрос о форме: учитывая список строк строк (в виде координатных массивов), которые необходимо перепроецировать - какой лучший способ перепроецировать, просто используя pyproj и shapely?

Если я приведу в виде массива строк и применим Преобразование для каждого в списке, кажется, я получаю немного лучшую производительность (~ 7-8%), чем если бы я приводил все строки строк в один родительский MultiLineString и применял преобразование один раз.

from pyproj import CRS, Transformer
from shapely.ops import transform

project_to_meter = Transformer.from_crs(
    CRS.from_epsg(4326),
    CRS.from_epsg(2163),
    always_xy=True)

option_1 = [LineString(path) for path in example_linestring_list]
option_2 = MultiLineString(mls_alt)

# method 2 seems to be ~7-8% faster - why? Is that the preferred pattern?
method_1 = transform(project_to_meter.transform, mls)
method_2 = [transform(project_to_meter.transform, x) for x in mls_alt]
...