【问题标题】:Does there exist a UDF to convert from Easting, Northing to latitude, longitude within BigQuery?BigQuery 中是否存在用于从东、北转换为纬度、经度的 UDF?
【发布时间】:2016-10-27 10:57:01
【问题描述】:

我使用 BigQuery 中的 BNG 系统获得了大量的东、北点。

通常我将它们读入 r 然后转换(从 CRS("+init=epsg:27700") 到 CRS("+init=epsg:4326"))。

是否可以在 BigQuery 中实际使用 UDF 来执行此操作?

这里有 JS 代码:http://www.movable-type.co.uk/scripts/latlong-os-gridref.html 进行转换。

我将如何真正将其转换为 UDF,特别是然后能够在 bigrquery 中使用 UDF?

谢谢!

【问题讨论】:

    标签: r google-bigquery udf


    【解决方案1】:

    要在 UDF 中使用此 JavaScript 代码,您可以:

    • GCS 上存储您要使用的 JavaScript 文件的副本。
    • Enable standard SQL 供您查询。
    • 在查询本身中,使用CREATE TEMP FUNCTION 定义UDF。使用OPTIONS 子句并指定要加载的library paths

    最终的查询看起来像这样:

    CREATE TEMP FUNCTION ConvertCoordinate(input STRING)
      RETURNS STRING
      LANGUAGE js AS
    """
        // Assumes 'jsConvertCoordinate' is defined in one of the library files.
        return jsConvertCoordinate(input);
    """
    OPTIONS (
      library="gs://my-bucket/path/to/lib1.js",
      library="gs://my-bucket/path/to/lib2.js"
    );
    
    SELECT ConvertCoordinate(coordinate) AS converted_coordinate
    FROM MyTable;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 2011-12-13
      • 2016-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多