DOI: 10.6084/m9.figshare.28174331.v3
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 GeocomputationThis 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).This paper includes three case studies, each corresponding to a folder. Each folder contains four subfolders: data, CIPrediction, ParallelComputation and SampleGeneration.The <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.<br>case1: Generation of DEM from point cloud data<br>step 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>:<br>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>.Set the coordinates as follows:<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>:<br>Under section "2. Point Cloud Data Download", choose the option <b>"Point cloud data in LAS format"</b>.<b>Submit</b>:<br>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<b>Coordinates & Classification</b>:<br>In the section "1. Coordinates & Classification", select the option <b>"Manually enter selection coordinates"</b>.<br>Set the coordinates as follows:<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>:<br>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.<pre>cd 1point2dem/SampleGeneration<br>g++ PointCloud2DEMSampleGeneration.cpp -o PointCloud2DEMSampleGeneration<br>mpiexec -n {number_processes} ./PointCloud2DEMSampleGeneration ../data/pcd path/to/output</pre>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.<pre>cd 1point2dem/CIPrediction<br>python -u point_prediction.py --model [GCN|ChebNet|GATNet]</pre>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.<pre>cd 1point2dem/ParallelComputation<br>g++ ParallelPointCloud2DEM.cpp -o ParallelPointCloud2DEM<br>mpiexec -n {number_processes} ./ParallelPointCloud2DEM ../data/pcd</pre><br>case 2: Spatial intersection of vector data<br>step 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.<pre>cd 2intersection/SampleGeneration<br>g++ ParallelIntersection.cpp -o ParallelIntersection<br>mpiexec -n {number_processes} ./ParallelIntersection ../data/shpfile ../data/shpfile</pre>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.<pre>cd 2intersection/CIPrediction<br>python -u vector_prediction.py --model [GCN|ChebNet|GATNet]</pre>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.<pre>cd 2intersection/ParallelComputation<br>g++ ParallelIntersection.cpp -o ParallelIntersection<br>mpiexec -n {number_processes} ./ParallelIntersection ../data/shpfile1 ../data/shpfile2</pre>case 3: WOfS analysis using raster data<br>step 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 <code>LC08_L1TP</code> and <code>LC08_L1GT</code><b>Latitude and Longitude Selection</b>:Minimum Longitude: 112.5Maximum Longitude: 115.5Minimum Latitude: 29.5Maximum 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.<pre>cd 3wofs/SampleGeneration<br>sbt packeage<br>spark-submit --master {host1,host2,host3} --class whu.edu.cn.core.cube.raster.WOfSSampleGeneration path/to/package.jar</pre>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.<pre>cd 3wofs/CIPrediction<br>python -u raster_prediction.py --model [GCN|ChebNet|GATNet]</pre>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.<pre>cd 3wofs/ParallelComputation<br>sbt packeage<br>spark-submit --master {host1,host2,host3} --class whu.edu.cn.core.cube.raster.WOfSOptimizedByDL path/to/package.jar path/to/output</pre>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>.<br>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>:<br><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.<br>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>