[Python] Getting coordinates as `inf` while transforming crs from one particular crs to 4326...

Discussão em 'Python' iniciado por Stack, Março 6, 2025.

  1. Stack

    Stack Membro Participativo

    After reading a shapefile in python using geopandas I am trying to transform the crs from one particular crs to 4326. The first row is always with coordinates as inf. This is only happening in ipython shell but not in a script running locally in the same environment.

    In [3]: df.head()
    Out[3]:
    gs_guid gs_id geometry
    0 {37117CB2-C06F-4CC3-A9DD-AD34AA42DD62} 15085262 LINESTRING (2848139.883 136224.258, 2848134.89...
    1 {3A308AAD-B27D-4FD4-A5E2-10DCD2B571C6} 25999752 LINESTRING (2848134.892 136223.963, 2847920.81...
    2 {5626C3FC-C12F-42D9-A9BA-63CC5289EA69} 15085282 LINESTRING (2875873.707 335731.840, 2875869.23...
    3 {C05D1107-D91A-4AAE-8DE9-349CC35A5A3D} 26272200 LINESTRING (2875869.239 335729.596, 2875397.13...
    4 {4DDDFC42-F84E-42D7-94D6-5F9B0E440174} 15085306 LINESTRING (2627362.719 344854.957, 2627361.98...


    Tried different approaches to transform

    1. using to_crs

    In [4]: df_1 = df.to_crs('epsg:4326')

    In [5]: df_1.head()
    Out[5]:
    gs_guid gs_id geometry
    0 {37117CB2-C06F-4CC3-A9DD-AD34AA42DD62} 15085262 LINESTRING (inf inf, inf inf)
    1 {3A308AAD-B27D-4FD4-A5E2-10DCD2B571C6} 25999752 LINESTRING (-81.73904 29.34529, -81.73971 29.3...
    2 {5626C3FC-C12F-42D9-A9BA-63CC5289EA69} 15085282 LINESTRING (-81.63629 29.89184, -81.63630 29.8...
    3 {C05D1107-D91A-4AAE-8DE9-349CC35A5A3D} 26272200 LINESTRING (-81.63630 29.89183, -81.63781 29.8...
    4 {4DDDFC42-F84E-42D7-94D6-5F9B0E440174} 15085306 LINESTRING (-82.41987 29.93173, -82.41987 29.9...

    1. Batchwise Tranformation

    In [3]: for i in range(0, len(df), 1000): # Process 1000 rows at a time
    ...: batch = df.iloc[i:i+1000].copy()
    ...: batch = batch.to_crs('epsg:4326')
    ...: print(batch.head())
    ...: if i>4000:
    ...: break
    ...:
    gs_guid gs_id geometry
    0 {37117CB2-C06F-4CC3-A9DD-AD34AA42DD62} 15085262 LINESTRING (inf inf, inf inf)
    1 {3A308AAD-B27D-4FD4-A5E2-10DCD2B571C6} 25999752 LINESTRING (-81.73904 29.34529, -81.73971 29.3...
    2 {5626C3FC-C12F-42D9-A9BA-63CC5289EA69} 15085282 LINESTRING (-81.63629 29.89184, -81.63630 29.8...
    3 {C05D1107-D91A-4AAE-8DE9-349CC35A5A3D} 26272200 LINESTRING (-81.63630 29.89183, -81.63781 29.8...
    4 {4DDDFC42-F84E-42D7-94D6-5F9B0E440174} 15085306 LINESTRING (-82.41987 29.93173, -82.41987 29.9...
    gs_guid gs_id geometry
    1000 {EA8C066C-A354-45D7-B36A-17EB1A1EA3F9} 15307170 LINESTRING (inf inf, inf inf)
    1001 {E00E98E9-5AE0-4577-89A5-392C6A2EC209} 26336338 LINESTRING (-82.24092 29.27591, -82.24211 29.2...
    1002 {45EAED98-4AE6-4201-BEDB-52BBC974F6A8} 15307315 LINESTRING (-81.80196 30.17577, -81.80206 30.1...
    1003 {72C2904A-C20D-4098-8D5B-04BFC76BC6F1} 26114872 LINESTRING (-81.80208 30.17575, -81.80206 30.1...
    1004 {DD4622A0-EAB0-4227-A0C0-5F9B837D08B2} 15307317 LINESTRING (-82.51731 29.63916, -82.51732 29.6...
    gs_guid gs_id geometry
    2000 {E4DE7287-2BE5-4623-9F3C-8237C54DFED0} 26346108 LINESTRING (inf inf, inf inf)
    2001 {38C6D563-94CB-4D5B-A3CC-E0355D485EEB} 15351855 LINESTRING (-82.53644 29.67554, -82.53643 29.6...
    2002 {43CD28A6-EC4A-4A49-BC17-E347A71D0DA5} 26019307 LINESTRING (-82.53643 29.67553, -82.53626 29.6...
    2003 {9E443D79-FF69-484D-9383-5807F55A3085} 15351925 LINESTRING (-81.60190 29.42369, -81.60191 29.4...
    2004 {9843ABCD-A567-4105-BDF7-7BCEA3DDD32C} 26191020 LINESTRING (-81.60191 29.42369, -81.60293 29.4...
    gs_guid gs_id geometry
    3000 {EAACF920-239A-4176-891F-789FBAD71900} 15492976 LINESTRING (inf inf, inf inf)
    3001 {5F88407C-F245-4097-909E-45E1BF147355} 26075647 LINESTRING (-81.98090 29.49530, -81.98090 29.4...
    3002 {EF9C30E6-E620-48F4-967B-88FBC69881A6} 15552098 LINESTRING (-81.46648 29.32023, -81.46648 29.3...
    3003 {6279DCC5-5EB9-45DC-8158-5DBDAF1F9CF5} 26081615 LINESTRING (-81.46648 29.32025, -81.46648 29.3...
    3004 {839689D3-D1D4-44D0-B090-4C5ABF704EF5} 24196811 LINESTRING (-81.72597 30.09347, -81.72586 30.0...
    gs_guid gs_id geometry
    4000 {5D8806AE-1EAE-48FA-847F-0274B69C4D74} 26071596 LINESTRING (inf inf, inf inf)
    4001 {6B7B33C1-3BE2-4F59-8703-DCA720A88E0E} 15399497 LINESTRING (-81.77385 30.14192, -81.77385 30.1...
    4002 {464453E5-322E-4C41-91B0-60DFA8B425C9} 26024331 LINESTRING (-81.77394 30.14171, -81.77393 30.1...
    4003 {168F8C9E-C86D-4AFC-ADBB-A13A8B41AAFC} 15399626 LINESTRING (-81.81291 30.07136, -81.81291 30.0...
    4004 {21D92AB1-B4B6-4BDF-A70A-6D341E8E0268} 25950423 LINESTRING (-81.81287 30.07095, -81.81286 30.0...
    gs_guid gs_id geometry
    5000 {52216084-6485-462C-B1A0-151D9DEF7570} 26048494 LINESTRING (inf inf, inf inf)
    5001 {5807FC9A-45BC-4377-9741-81F715EFFDD6} 15050068 LINESTRING (-81.59857 29.77483, -81.59856 29.7...
    5002 {7DB1DE84-410C-421B-994A-F883A3A06CE4} 26137015 LINESTRING (-81.59856 29.77482, -81.59843 29.7...
    5003 {B02E1A84-A247-4675-AAA5-05FA0299E5C6} 15050086 LINESTRING (-82.32265 29.37626, -82.32294 29.3...
    5004 {DE34CB94-B488-49A2-BCD5-CD13BD20AE88} 26332686 LINESTRING (-82.32294 29.37642, -82.32296 29.3...

    1. Using pyproj and shapely

    In [13]: import pyproj

    In [14]: import shapely

    In [15]: transform = pyproj.Transformer.from_crs(input_proj, output_proj, always_xy=True).transform

    In [16]: output_proj = pyproj.CRS("EPSG:4326")

    In [17]: import pyproj

    In [18]: import shapely

    In [19]: output_proj = pyproj.CRS("EPSG:4326")

    In [20]: input_proj = pyproj.CRS("EPSG:2238")

    In [21]: transform = pyproj.Transformer.from_crs(input_proj, output_proj, always_xy=True).transform

    In [22]: df['new_geometry'] = df['geometry'].apply(lambda x: shapely.ops.transform(transform, x))
    /Users/tejaswi.kompella/yes/envs/aidash/lib/python3.10/site-packages/geopandas/geoseries.py:645: FutureWarning: the convert_dtype parameter is deprecated and will be removed in a future version. Do ``ser.astype(object).apply()`` instead if you want ``convert_dtype=False``.
    result = super().apply(func, convert_dtype=convert_dtype, args=args, **kwargs)

    In [23]: df.head()
    Out[23]:
    gs_guid gs_id geometry new_geometry
    0 {37117CB2-C06F-4CC3-A9DD-AD34AA42DD62} 15085262 LINESTRING (2848139.883 136224.258, 2848134.89... LINESTRING (inf inf, inf inf)
    1 {3A308AAD-B27D-4FD4-A5E2-10DCD2B571C6} 25999752 LINESTRING (2848134.892 136223.963, 2847920.81... LINESTRING (-81.739 29.345, -81.740 29.345)
    2 {5626C3FC-C12F-42D9-A9BA-63CC5289EA69} 15085282 LINESTRING (2875873.707 335731.840, 2875869.23... LINESTRING (-81.636 29.892, -81.636 29.892)
    3 {C05D1107-D91A-4AAE-8DE9-349CC35A5A3D} 26272200 LINESTRING (2875869.239 335729.596, 2875397.13... LINESTRING (-81.636 29.892, -81.638 29.891)
    4 {4DDDFC42-F84E-42D7-94D6-5F9B0E440174} 15085306 LINESTRING (2627362.719 344854.957, 2627361.98... LINESTRING (-82.420 29.932, -82.420 29.932)


    I am getting this issue for all shapefiles where I am trying to transform the crs. Pls help me with some debugging or issue if is known

    Versions

    Python 3.10.13
    geopandas 0.12.0
    Shapely 1.8.5.post1
    pyproj 3.4.0

    Continue reading...

Compartilhe esta Página