[ https://issues.apache.org/jira/browse/SEDONA-54?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jia Yu closed SEDONA-54. ------------------------ Resolution: Duplicate > ST_Transform from 4326 to 3857 throws exception > ----------------------------------------------- > > Key: SEDONA-54 > URL: https://issues.apache.org/jira/browse/SEDONA-54 > Project: Apache Sedona > Issue Type: Bug > Affects Versions: 1.0.1 > Reporter: Zhenbao.Zhai > Priority: Major > > Hi there: > 'ST_Transform' fuction returns right result on geospark 1.3.1,but got an > error on sedona-viz-2.4_2.11 1.0.1-incubating > test sql : > select ST_Transform(line,'epsg:4326','epsg:3857') line, name from table > data: > MULTILINESTRING ((109.80679 40.67386, 109.80666 40.67389, 109.80679 > 40.67386), (109.80679 40.67386, 109.80788 40.67371, 109.80788 40.67371, > 109.80788 40.67318, 109.80784 40.6728, 109.80784 40.6728, 109.80779 40.6723, > 109.80777 40.67216, 109.80768 40.6713, 109.80768 40.6713, 109.80769 40.67122, > 109.80769 40.67122, 109.80769 40.67113, 109.80769 40.67113, 109.80838 > 40.67109, 109.80838 40.67109, 109.80974 40.67102, 109.80974 40.67102, > 109.81025 40.67099, 109.81025 40.67099, 109.81046 40.67099, 109.81046 > 40.67099, 109.81065 40.67097, 109.81065 40.67097, 109.81112 40.67095, > 109.81112 40.67095, 109.81156 40.67093, 109.81156 40.67093, 109.81171 > 40.67093, 109.81171 40.67093, 109.81189 40.67092, 109.81189 40.67092, > 109.81247 40.67088, 109.81247 40.67088, 109.81274 40.67086, 109.81274 > 40.67086, 109.81294 40.67085, 109.81294 40.67085, 109.81421 40.67083, > 109.81421 40.67083, 109.81495 40.67081, 109.81495 40.67081, 109.81611 > 40.67073, 109.81611 40.67073, 109.8163 40.67074, 109.8163 40.67074, 109.81768 > 40.67067, 109.81768 40.67067, 109.81821 40.67066, 109.81887 40.67063, > 109.82053 40.67054, 109.82053 40.67054, 109.82069 40.67053, 109.82069 > 40.67053, 109.82138 40.67049, 109.82138 40.67049, 109.82249 40.67044, > 109.82249 40.67044, 109.82259 40.67044, 109.82259 40.67044, 109.82267 > 40.67044, 109.82267 40.67044, 109.82276 40.67043, 109.82276 40.67043, > 109.82337 40.6704, 109.82337 40.6704, 109.82395 40.67038, 109.82395 40.67038, > 109.82449 40.67035, 109.82449 40.67035, 109.82463 40.67034, 109.82463 > 40.67034, 109.82512 40.67031, 109.82545 40.67031, 109.82545 40.67031, > 109.82624 40.67028, 109.82631 40.67028, 109.82631 40.67028, 109.82673 > 40.67025, 109.82742 40.67022, 109.82742 40.67022, 109.82813 40.67018, > 109.82813 40.67018, 109.82886 40.67015, 109.82886 40.67015, 109.82957 > 40.67011, 109.82957 40.67011, 109.83007 40.67009, 109.83007 40.67009, > 109.83029 40.67008, 109.83029 40.67008, 109.83062 40.67007, 109.83062 > 40.67007, 109.8309 40.67005, 109.8309 40.67005, 109.83197 40.67, 109.83197 > 40.67, 109.83201 40.67, 109.83201 40.67, 109.83212 40.66999, 109.83212 > 40.66999, 109.83216 40.66999, 109.83216 40.66999, 109.8326 40.66997, 109.8326 > 40.66997, 109.83296 40.66996, 109.83296 40.66996, 109.83385 40.66991, > 109.83385 40.66991, 109.83409 40.66991, 109.83409 40.66991, 109.83481 > 40.66988, 109.83481 40.66988, 109.83519 40.66986, 109.83519 40.66986, > 109.83533 40.66984, 109.83533 40.66984, 109.83574 40.66982, 109.83574 > 40.66982, 109.83733 40.66975, 109.83733 40.66975, 109.83801 40.66972, > 109.83801 40.66972, 109.83814 40.66971, 109.83814 40.66971, 109.83823 > 40.66971, 109.83823 40.66971, 109.83923 40.66966, 109.83923 40.66966, > 109.83989 40.66963, 109.83989 40.66963, 109.84113 40.66955, 109.84113 > 40.66955, 109.84109 40.66895, 109.84102 40.66805, 109.84097 40.66756), > (109.84097 40.66756, 109.84097 40.66756)) > geospark 1.31 result: > MULTILINESTRING ((12223635.948443927 4964354.456204462, 12223621.47691012 > 4964358.859481903, 12223635.948443927 4964354.456204462), (12223635.948443927 > 4964354.456204462, 12223757.286688888 4964332.439846974, 12223757.286688888 > 4964332.439846974, 12223757.286688888 4964254.649113868, 12223752.833909256 > 4964198.875006592, 12223752.833909256 4964198.875006592, 12223747.267934717 > 4964125.488507615, 12223745.041544901 4964104.940386518, 12223735.022790732 > 4963978.717160566, 12223735.022790732 4963978.717160566, 12223736.135985639 > 4963966.975547889, 12223736.135985639 4963966.975547889, 12223736.135985639 > 4963953.766250469, 12223736.135985639 4963953.766250469, 12223812.946434285 > 4963947.895457338, 12223812.946434285 4963947.895457338, 12223964.340941766 > 4963937.621577834, 12223964.340941766 4963937.621577834, 12224021.11388207 > 4963933.21848992, 12224021.11388207 4963933.21848992, 12224044.490975138 > 4963933.21848992, 12224044.490975138 4963933.21848992, 12224065.641678385 > 4963930.283099074, 12224065.641678385 4963930.283099074, 12224117.96183906 > 4963927.347709115, 12224117.96183906 4963927.347709115, 12224166.942415008 > 4963924.412320032, 12224166.942415008 4963924.412320032, 12224183.640338628 > 4963924.412320032, 12224183.640338628 4963924.412320032, 12224203.67784697 > 4963922.94462582, 12224203.67784697 4963922.94462582, 12224268.24315163 > 4963917.073851177, 12224268.24315163 4963917.073851177, 12224298.299414145 > 4963914.138465179, 12224298.299414145 4963914.138465179, 12224320.563312303 > 4963912.670772508, 12224320.563312303 4963912.670772508, 12224461.93906561 > 4963909.735387829, 12224461.93906561 4963909.735387829, 12224544.315488797 > 4963906.800004032, 12224544.315488797 4963906.800004032, 12224673.446098115 > 4963895.058477638, 12224673.446098115 4963895.058477638, 12224694.596801369 > 4963896.526167665, 12224694.596801369 4963896.526167665, 12224848.217698663 > 4963886.252342088, 12224848.217698663 4963886.252342088, 12224907.217028782 > 4963884.784653601, 12224980.687892707 4963880.38158946, 12225165.478247423 > 4963867.172408916, 12225165.478247423 4963867.172408916, 12225183.289365951 > 4963865.704723287, 12225183.289365951 4963865.704723287, 12225260.099814598 > 4963859.833982982, 12225260.099814598 4963859.833982982, 12225383.664449379 > 4963852.4955625525, 12225383.664449379 4963852.4955625525, 12225394.796398457 > 4963852.4955625525, 12225394.796398457 4963852.4955625525, 12225403.701957721 > 4963852.4955625525, 12225403.701957721 4963852.4955625525, 12225413.720711892 > 4963851.027879128, 12225413.720711892 4963851.027879128, 12225481.625601277 > 4963846.624830173, 12225481.625601277 4963846.624830173, 12225546.190905936 > 4963843.689465299, 12225546.190905936 4963843.689465299, 12225606.303430965 > 4963839.286419647, 12225606.303430965 4963839.286419647, 12225621.888159676 > 4963837.8187382035, 12225621.888159676 4963837.8187382035, 12225676.434710164 > 4963833.415695188, 12225713.170142127 4963833.415695188, 12225713.170142127 > 4963833.415695188, 12225801.112539854 4963829.0126541555, 12225808.90490421 > 4963829.0126541555, 12225808.90490421 4963829.0126541555, 12225855.659090342 > 4963824.609615106, 12225932.46953899 4963820.206578032, 12225932.46953899 > 4963820.206578032, 12226011.506377453 4963814.335865024, 12226011.506377453 > 4963814.335865024, 12226092.769605733 4963809.932832572, 12226092.769605733 > 4963809.932832572, 12226171.806444196 4963804.062125721, 12226171.806444196 > 4963804.062125721, 12226227.466189593 4963801.126773619, 12226227.466189593 > 4963801.126773619, 12226251.956477566 4963799.659097895, 12226251.956477566 > 4963799.659097895, 12226288.691909527 4963798.191422393, 12226288.691909527 > 4963798.191422393, 12226319.86136695 4963795.256072051, 12226319.86136695 > 4963795.256072051, 12226438.9732221 4963787.917700045, 12226438.9732221 > 4963787.917700045, 12226443.42600173 4963787.917700045, 12226443.42600173 > 4963787.917700045, 12226455.671145719 4963786.450026302, 12226455.671145719 > 4963786.450026302, 12226460.123925349 4963786.450026302, 12226460.123925349 > 4963786.450026302, 12226509.104501298 4963783.514679479, 12226509.104501298 > 4963783.514679479, 12226549.179517984 4963782.0470064, 12226549.179517984 > 4963782.0470064, 12226648.25386479 4963774.708644297, 12226648.25386479 > 4963774.708644297, 12226674.970542582 4963774.708644297, 12226674.970542582 > 4963774.708644297, 12226755.120575953 4963770.305629674, 12226755.120575953 > 4963770.305629674, 12226797.421982454 4963767.370287694, 12226797.421982454 > 4963767.370287694, 12226813.006711164 4963764.434946595, 12226813.006711164 > 4963764.434946595, 12226858.64770239 4963761.499606377, 12226858.64770239 > 4963761.499606377, 12227035.645692749 4963751.225922541, 12227035.645692749 > 4963751.225922541, 12227111.34294649 4963746.822918485, 12227111.34294649 > 4963746.822918485, 12227125.814480294 4963745.355250905, 12227125.814480294 > 4963745.355250905, 12227135.833234463 4963745.355250905, 12227135.833234463 > 4963745.355250905, 12227247.152725257 4963738.016916315, 12227247.152725257 > 4963738.016916315, 12227320.62358918 4963733.613918202, 12227320.62358918 > 4963733.613918202, 12227458.659757767 4963721.872599585, 12227458.659757767 > 4963721.872599585, 12227454.206978133 4963633.813158927, 12227446.414613778 > 4963501.725483504, 12227440.848639239 4963429.811831917), (12227440.848639239 > 4963429.811831917, 12227440.848639239 4963429.811831917)) > sedona 1.0.1-incubating : > Caused by: org.geotools.referencing.operation.projection.ProjectionException: > Latitude 109°48.4'N is too close to a pole.Caused by: > org.geotools.referencing.operation.projection.ProjectionException: Latitude > 109°48.4'N is too close to a pole. at > org.geotools.referencing.operation.projection.Mercator$Spherical.transformNormalized(Mercator.java:197) > at > org.geotools.referencing.operation.projection.MapProjection.transform(MapProjection.java:894) > at > org.geotools.referencing.operation.projection.MapProjection.transform(MapProjection.java:940) > at > org.geotools.referencing.operation.transform.ConcatenatedTransformDirect.transform(ConcatenatedTransformDirect.java:70) > at > org.geotools.geometry.jts.DefaultCoordinateSequenceTransformer.transform(DefaultCoordinateSequenceTransformer.java:109) > at > org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer.projectCoordinateSequence(GeometryCoordinateSequenceTransformer.java:262) > at > org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer.transformStraightLineString(GeometryCoordinateSequenceTransformer.java:214) > at > org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer.transformLineString(GeometryCoordinateSequenceTransformer.java:193) > at > org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer.transform(GeometryCoordinateSequenceTransformer.java:145) > at org.geotools.geometry.jts.JTS.transform(JTS.java:437) at > org.apache.spark.sql.sedona_sql.expressions.ST_Transform.eval(Functions.scala:257) > at > org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificUnsafeProjection.apply(Unknown > Source) at > org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificUnsafeProjection.apply(Unknown > Source) at scala.collection.Iterator$$anon$11.next(Iterator.scala:410) at > org.apache.spark.sql.execution.SparkPlan$$anonfun$2.apply(SparkPlan.scala:256) > at > org.apache.spark.sql.execution.SparkPlan$$anonfun$2.apply(SparkPlan.scala:247) > at > org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$24.apply(RDD.scala:836) > at > org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$24.apply(RDD.scala:836) > at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52) > at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) at > org.apache.spark.rdd.RDD.iterator(RDD.scala:288) at > org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52) at > org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) at > org.apache.spark.rdd.RDD.iterator(RDD.scala:288) at > org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90) at > org.apache.spark.scheduler.Task.run(Task.scala:123) at > org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408) > at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360) at > org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414) at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > > code > :{color:#FF0000}org/apache/spark/sql/sedona_sql/expressions/Functions.scala{color} > line 248 and line 249 > val sourceCRScode = CRS.decode("...") change to > val sourceCRScode = CRS.decode("...",{color:#FF0000}true{color}) may fix > this > -- This message was sent by Atlassian Jira (v8.3.4#803005)