DOI: 10.6084/m9.figshare.28200623
title: The codes and data for "A Graph Convolutional Neural Network-based Method for Predicting Computational Intensity of Geocomputation"

description: A Graph Convolutional Neural Network-based Method for Predicting Computational Intensity of Geocomputation<br>This is the implementation for the paper "A Graph Convolutional Neural Network-based Method for Predicting Computational Intensity of Geocomputation".The framework is Learning-based Computing Framework for Geospatial data(LCF-G).Prediction, ParallelComputation and SampleGeneration.This paper includes three case studies, each corresponding to a folder. Each folder contains four subfolders: data, CIThe <b>data</b> folder contains geospatail data.The <b>CIPrediction</b> folder contains model training code.The <b>ParallelComputation</b> folder contains geographic computation code.The <b>SampleGeneration </b>folder contains code for sample generation.Case 1: Generation of DEM from point cloud datastep 1: Data downloadDataset 1 has been uploaded to the directory <code>1point2dem/data</code>. The other two datasets, <b>Dataset 2</b> and <b>Dataset 3</b>, can be downloaded from the following website:OpenTopographyBelow are the steps for downloading <b>Dataset 2</b> and <b>Dataset 3</b>, along with the query parameters:Dataset 2:<b>Visit OpenTopography Website</b>: Go to Dataset 2 Download Link.https://portal.opentopography.org/lidarDataset?opentopoID=OTLAS.112018.2193.1<b>Coordinates & Classification</b>:In the section "1. Coordinates & Classification", select the option <b>"Manually enter selection coordinates"</b>.<b>Set the coordinates as follows</b>: <b>Xmin</b> = 1372495.692761,<b>Ymin</b> = 5076006.86821,<b>Xmax</b> = 1378779.529766,<b>Ymax</b> = 5085586.39531<b>Point Cloud Data Download</b>:Under section "2. Point Cloud Data Download", choose the option <b>"Point cloud data in LAS format"</b>.<b>Submit</b>:Click on <b>"SUBMIT"</b> to initiate the download.Dataset 3:<b>Visit OpenTopography Website</b>:Go to Dataset 3 Download Link: https://portal.opentopography.org/lidarDataset?opentopoID=OTLAS.052016.26912.1<br><b>Coordinates & Classification</b>:<br>In the section "1. Coordinates & Classification", select the option <b>"Manually enter selection coordinates"</b>.<b>Set the coordinates as follows</b>:<b>Xmin</b> = 470047.153826,<b>Ymin</b> = 4963418.512121,<b>Xmax</b> = 479547.16556,<b>Ymax</b> = 4972078.92768<b>Point Cloud Data Download</b>:<br>Under section "2. Point Cloud Data Download", choose the option <b>"Point cloud data in LAS format"</b>.<b>Submit</b>:Click on <b>"SUBMIT"</b> to initiate the download.step 2: Sample generationThis step involves data preparation, and samples can be generated using the provided code. Since the samples have already been uploaded to <code>1point2dem/SampleGeneration/data</code>, this step is optional.<br><i>cd 1point2dem/SampleGeneration</i><i>g++ PointCloud2DEMSampleGeneration.cpp -o PointCloud2DEMSampleGeneration</i><i>mpiexec -n {number_processes} ./PointCloud2DEMSampleGeneration ../data/pcd path/to/output</i>step 3: Model trainingThis step involves training three models (GAN, CNN, GAT). The model results are saved in <code>1point2dem/SampleGeneration/result</code>, and the results for <b>Table 3</b> in the paper are derived from this output.<i>cd 1point2dem/CIPrediction</i><i>python -u point_prediction.py --model [GCN|ChebNet|GATNet]</i>step 4: Parallel computationThis step uses the trained models to optimize parallel computation. The results for <b>Figures 11-13</b> in the paper are generated from the output of this command.<i>cd 1point2dem/ParallelComputation</i><i>g++ ParallelPointCloud2DEM.cpp -o ParallelPointCloud2DEM</i><i>mpiexec -n {number_processes} ./ParallelPointCloud2DEM ../data/pcd</i>Case 2: Spatial intersection of vector datastep 1: Data downloadSome data from the paper has been uploaded to <code>2intersection/data</code>. The remaining OSM data can be downloaded from GeoFabrik. Below are the download steps and parameters:Directly click the following link to download the OSM data: GeoFabrik - Czech Republic OSM Datastep 2: Sample generationThis step involves data preparation, and samples can be generated using the provided code. Since the samples have already been uploaded to <code>2intersection/SampleGeneration/data</code>, this step is optional.<i>cd 2intersection/SampleGeneration</i><i>g++ ParallelIntersection.cpp -o ParallelIntersection</i><i>mpiexec -n {number_processes} ./ParallelIntersection ../data/shpfile ../data/shpfile</i>step 3: Model trainingThis step involves training three models (GAN, CNN, GAT). The model results are saved in <code>2intersection/SampleGeneration/result</code>, and the results for <b>Table 5</b> in the paper are derived from this output.<i>cd 2intersection/CIPrediction</i><i>python -u vector_prediction.py --model [GCN|ChebNet|GATNet]</i>step 4: Parallel computationThis step uses the trained models to optimize parallel computation. The results for <b>Figures 14-16</b> in the paper are generated from the output of this command.<i>cd 2intersection/ParallelComputation</i><i>g++ ParallelIntersection.cpp -o ParallelIntersection</i><i>mpiexec -n {number_processes} ./ParallelIntersection ../data/shpfile1 ../data/shpfile2</i>Case 3: WOfS analysis using raster datastep 1: Data downloadSome data from the paper has been uploaded to <code>3wofs/data</code>. The remaining data can be downloaded from http://openge.org.cn/advancedRetrieval?type=dataset. Below are the query parameters:<b>Product Selection</b>: Select `LC08_L1TP` and `LC08_L1GT`<b>Latitude and Longitude Selection</b>:Minimum Longitude: 112.5,Maximum Longitude: 115.5, Minimum Latitude: 29.5, Maximum Latitude: 31.5<b>Time Range</b>: 2013-01-01 to 2018-12-31Other parameters: Defaultstep 2: Sample generationThis step involves data preparation, and samples can be generated using the provided code. Since the samples have already been uploaded to <code>3wofs/SampleGeneration/data</code>, this step is optional.<i>cd 3wofs/SampleGeneration</i><i>sbt packeage</i><i>spark-submit --master {host1,host2,host3} --class whu.edu.cn.core.cube.raster.WOfSSampleGeneration path/to/package.jar</i>step 3: Model trainingThis step involves training three models (GAN, CNN, GAT). The model results are saved in <code>3wofs/SampleGeneration/result</code>, and the results for <b>Table 6</b> in the paper are derived from this output.<i>cd 3wofs/CIPrediction</i><i>python -u raster_prediction.py --model [GCN|ChebNet|GATNet]</i>step 4: Parallel computationThis step uses the trained models to optimize parallel computation. The results for <b>Figures 18, 19</b> in the paper are generated from the output of this command.<i>cd 3wofs/ParallelComputation</i><i>sbt packeage</i><i>spark-submit --master {host1,host2,host3} --class whu.edu.cn.core.cube.raster.WOfSOptimizedByDL path/to/package.jar path/to/output</i>Statement about Case 3<b>The experiment Case 3 presented in this paper was conducted with improvements made on the GeoCube platform.</b><b>Code Name</b>: GeoCube<b>Code Link</b>: GeoCube Source Code<b>License Information</b>: The GeoCube project is openly available under the <b>CC BY 4.0 license</b>.The GeoCube project is licensed under <b>CC BY 4.0</b>, which is the <b>Creative Commons Attribution 4.0 International License</b>, allowing anyone to freely share, modify, and distribute the platform's code.<b>Citation</b>:<br>Gao, Fan (2022). A multi-source spatio-temporal data cube for large-scale geospatial analysis. figshare. Software. https://doi.org/10.6084/m9.figshare.15032847.v1<b>Clarification Statement</b>:<b>The authors of this code are not affiliated with this manuscript</b>. The <b>innovations</b> and <b>steps</b> in Case 3, including data download, sample generation, and parallel computation optimization, were independently developed and are not dependent on the GeoCube’s code.RequirementsThe codes use the following dependencies with Python 3.8torch==2.0.0torch_geometric==2.5.3networkx==2.6.3pyshp==2.3.1tensorrt==8.6.1matplotlib==3.7.2scipy==1.10.1scikit-learn==1.3.0geopandas==0.13.2<br>