Insérer des données GeoJSON
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Insérer des données en flux continu dans une colonne GEOGRAPHY avec des données GeoJSON
En savoir plus
Pour obtenir une documentation détaillée incluant cet exemple de code, consultez ce qui suit :
Exemple de code
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis page demonstrates how to stream insert GeoJSON data into a GEOGRAPHY column in a BigQuery table using both Python and Ruby client libraries.\u003c/p\u003e\n"],["\u003cp\u003eThe examples use a line string defined by the coordinates of LAX and JFK airports, but users can define their own GeoJSON data for insertion.\u003c/p\u003e\n"],["\u003cp\u003eThe GeoJSON data, regardless of how it is created, must be converted into a string before it can be loaded into BigQuery.\u003c/p\u003e\n"],["\u003cp\u003eBefore inserting data into BigQuery, you must authenticate and have a pre-existing table with a column using the GEOGRAPHY data type.\u003c/p\u003e\n"]]],[],null,["Streaming insert into GEOGRAPHY column with GeoJSON data.\n\nExplore further\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Working with geospatial data](/bigquery/docs/geospatial-data)\n\nCode sample \n\nPython\n\n\nBefore trying this sample, follow the Python setup instructions in the\n[BigQuery quickstart using\nclient libraries](/bigquery/docs/quickstarts/quickstart-client-libraries).\n\n\nFor more information, see the\n[BigQuery Python API\nreference documentation](/python/docs/reference/bigquery/latest).\n\n\nTo authenticate to BigQuery, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for client libraries](/bigquery/docs/authentication#client-libs).\n\n import geojson\n from google.cloud import https://cloud.google.com/python/docs/reference/bigquery/latest/\n\n bigquery_client = https://cloud.google.com/python/docs/reference/bigquery/latest/.https://cloud.google.com/python/docs/reference/bigquery/latest/google.cloud.bigquery.client.Client.html()\n\n # This example uses a table containing a column named \"geo\" with the\n # GEOGRAPHY data type.\n table_id = \"my-project.my_dataset.my_table\"\n\n # Use the python-geojson library to generate GeoJSON of a line from LAX to\n # JFK airports. Alternatively, you may define GeoJSON data directly, but it\n # must be converted to a string before loading it into BigQuery.\n my_geography = geojson.LineString([(-118.4085, 33.9416), (-73.7781, 40.6413)])\n rows = [\n # Convert GeoJSON data into a string.\n {\"geo\": geojson.dumps(my_geography)}\n ]\n\n # table already exists and has a column\n # named \"geo\" with data type GEOGRAPHY.\n errors = bigquery_client.https://cloud.google.com/python/docs/reference/bigquery/latest/google.cloud.bigquery.client.Client.html#google_cloud_bigquery_client_Client_insert_rows_json(table_id, rows)\n if errors:\n raise RuntimeError(f\"row insert failed: {errors}\")\n else:\n print(f\"wrote 1 row to {table_id}\")\n\nRuby\n\n\nBefore trying this sample, follow the Ruby setup instructions in the\n[BigQuery quickstart using\nclient libraries](/bigquery/docs/quickstarts/quickstart-client-libraries).\n\n\nFor more information, see the\n[BigQuery Ruby API\nreference documentation](https://googleapis.dev/ruby/google-cloud-bigquery/latest/Google/Cloud/Bigquery.html).\n\n\nTo authenticate to BigQuery, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for client libraries](/bigquery/docs/authentication#client-libs).\n\n require \"google/cloud/bigquery\"\n require \"rgeo\"\n require \"rgeo/geo_json\"\n\n def insert_geojson dataset_id = \"your_dataset_id\", table_id = \"your_table_id\"\n bigquery = Google::Cloud::https://cloud.google.com/ruby/docs/reference/google-cloud-bigquery-analytics_hub/latest/Google-Cloud-Bigquery.html.https://cloud.google.com/ruby/docs/reference/google-cloud-bigquery/latest/Google-Cloud-Bigquery.html\n dataset = bigquery.dataset dataset_id\n table = dataset.table table_id\n\n # Use the RGeo library to generate GeoJSON of a line from LAX to\n # JFK airports. Alternatively, you may define GeoJSON data directly, but it\n # must be converted to a string before loading it into BigQuery.\n factory = RGeo::Geographic.spherical_factory\n my_line = factory.line_string([factory.point(-118.4085, 33.9416), factory.point(-73.7781, 40.6413)])\n row_data = [\n # Convert GeoJSON data into a string.\n { geo: RGeo::GeoJSON.encode(my_line).to_json }\n ]\n\n # Table already exists and has a column named \"geo\" with data type GEOGRAPHY.\n response = table.insert row_data\n\n if response.success?\n puts \"Inserted GeoJSON row successfully\"\n else\n puts \"GeoJSON row insert failed: #{response.error_rows.https://cloud.google.com/ruby/docs/reference/google-cloud-bigquery-reservation-v1/latest/Google-Cloud-Bigquery-Reservation-V1-SplitCapacityCommitmentResponse.html&.errors}\"\n end\n end\n\nWhat's next\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=bigquery)."]]