

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh: Kueri geospasial
<a name="geospatial-example-queries"></a>

Contoh dalam topik ini membuat dua tabel dari data sampel yang tersedia GitHub dan menanyakan tabel berdasarkan data. Data contoh, yang hanya untuk tujuan ilustrasi dan tidak dijamin akurat, adalah dalam file berikut:
+ **[https://github.com/Esri/gis-tools-for-hadoop/blob/master/samples/data/earthquake-data/earthquakes.csv](https://github.com/Esri/gis-tools-for-hadoop/blob/master/samples/data/earthquake-data/earthquakes.csv)**— Daftar gempa bumi yang terjadi di California. Contoh`earthquakes`tabel menggunakan bidang dari data ini.
+ **[https://github.com/Esri/gis-tools-for-hadoop/blob/master/samples/data/counties-data/california-counties.json](https://github.com/Esri/gis-tools-for-hadoop/blob/master/samples/data/counties-data/california-counties.json)**— Daftar data county untuk negara bagian California di[Format GeoJSON sesuai dengan ESRI](https://doc.arcgis.com/en/arcgis-online/reference/geojson.htm). Data mencakup banyak bidang seperti`AREA`,`PERIMETER`,`STATE`,`COUNTY`, dan`NAME`, tetapi contoh`counties`tabel hanya menggunakan dua:`Name`(string), dan`BoundaryShape`(biner). 
**catatan**  
Athena menggunakan`com.esri.json.hadoop.EnclosedEsriJsonInputFormat`untuk mengkonversi data JSON ke format biner geospasial.

Contoh berikut membuat direktori yang disebut `earthquakes`:

```
CREATE external TABLE earthquakes
(
 earthquake_date string,
 latitude double,
 longitude double,
 depth double,
 magnitude double,
 magtype string,
 mbstations string,
 gap string,
 distance string,
 rms string,
 source string,
 eventid string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE LOCATION 's3://amzn-s3-demo-bucket/my-query-log/csv/';
```

Contoh berikut membuat direktori yang disebut `counties`:

```
CREATE external TABLE IF NOT EXISTS counties
 (
 Name string,
 BoundaryShape binary
 )
ROW FORMAT SERDE 'com.esri.hadoop.hive.serde.EsriJsonSerDe'
STORED AS INPUTFORMAT 'com.esri.json.hadoop.EnclosedEsriJsonInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION 's3://amzn-s3-demo-bucket/my-query-log/json/';
```

Contoh kueri berikut menggunakan`CROSS JOIN`fungsi pada`counties`dan`earthquake`tabel. Contoh menggunakan`ST_CONTAINS`untuk kueri untuk kabupaten yang batas-batasnya termasuk lokasi gempa bumi, yang ditentukan dengan`ST_POINT`. Grup kueri kabupaten tersebut dengan nama, memerintahkannya dengan hitungan, dan mengembalikannya dalam urutan menurun.

```
SELECT counties.name,
        COUNT(*) cnt
FROM counties
CROSS JOIN earthquakes
WHERE ST_CONTAINS (ST_GeomFromLegacyBinary(counties.boundaryshape), ST_POINT(earthquakes.longitude, earthquakes.latitude))
GROUP BY  counties.name
ORDER BY  cnt DESC
```

Kueri ini menghasilkan:

```
+------------------------+
| name             | cnt |
+------------------------+
| Kern             | 36  |
+------------------------+
| San Bernardino   | 35  |
+------------------------+
| Imperial         | 28  |
+------------------------+
| Inyo             | 20  |
+------------------------+
| Los Angeles      | 18  |
+------------------------+
| Riverside        | 14  |
+------------------------+
| Monterey         | 14  |
+------------------------+
| Santa Clara      | 12  |
+------------------------+
| San Benito       | 11  |
+------------------------+
| Fresno           | 11  |
+------------------------+
| San Diego        | 7   |
+------------------------+
| Santa Cruz       | 5   |
+------------------------+
| Ventura          | 3   |
+------------------------+
| San Luis Obispo  | 3   |
+------------------------+
| Orange           | 2   |
+------------------------+
| San Mateo        | 1   |
+------------------------+
```

## Sumber daya tambahan
<a name="geospatial-example-queries-additional-resources"></a>

Untuk contoh tambahan kueri geospasial, lihat postingan blog berikut:
+ [Perluas kueri geospasial di Amazon Athena dengan dan UDFs AWS Lambda](https://aws.amazon.com/blogs/big-data/extend-geospatial-queries-in-amazon-athena-with-udfs-and-aws-lambda/) 
+ [Visualisasikan lebih dari 200 tahun data iklim global menggunakan Amazon Athena dan Amazon Quick](https://aws.amazon.com/blogs/big-data/visualize-over-200-years-of-global-climate-data-using-amazon-athena-and-amazon-quicksight/).
+ [Pertanyaan OpenStreetMap dengan Amazon Athena](https://aws.amazon.com/blogs/big-data/querying-openstreetmap-with-amazon-athena/)