Skip to content

Commit 5e6589b

Browse files
authored
Added block to calculate Centroids from a GeoJSON file
1 parent 7989700 commit 5e6589b

File tree

4 files changed

+97
-0
lines changed

4 files changed

+97
-0
lines changed

Preparation/Geo/Centroids/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This block calculates the centroid points (lat,long) and output them together with the shape ID from a specified GeoJSON file.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
"@visokiotype": "CustomBlockSchema.CustomBlockManifest",
3+
"name": "Centroids from GeoJSON",
4+
"scriptFilename": "script.py",
5+
"language": "PYTHON",
6+
"executableVersion": null,
7+
"minVersions": [
8+
null
9+
],
10+
"optionsVersion": 1,
11+
"apiVersion": "VERSION_0",
12+
"isResourceIntensiveScript": false,
13+
"showPartitioning": false,
14+
"icon": "data:image/png;base64,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",
15+
"description": "Calculates the centroid points (lat,long) and output them together with the shape ID from a specified GeoJSON file.",
16+
"category": "Preparation",
17+
"subcategory": null,
18+
"tags": [
19+
"geojson",
20+
"centroid",
21+
"shape"
22+
],
23+
"introductoryText": "### Calculates the centroid points (lat,long) and output them together with the shape ID from a specified GeoJSON file.",
24+
"dependencies": "geopandas",
25+
"options": [
26+
{
27+
"name": "geojsonfile",
28+
"title": "GeoJSON File",
29+
"description": "The GeoJSON file containing shapes",
30+
"groupTitle": null,
31+
"width": "ONE",
32+
"@visokiotype": "CustomBlockSchema.FileCustomBlockPublicOption",
33+
"mandatory": true,
34+
"defaultValue": null,
35+
"readOnly": true
36+
},
37+
{
38+
"name": "shapeIDfield",
39+
"title": "Shape ID field name",
40+
"description": "The field in the GeoJSON shape to use as ID",
41+
"groupTitle": null,
42+
"width": "ONE",
43+
"@visokiotype": "CustomBlockSchema.TextCustomBlockPublicOption",
44+
"mandatory": true,
45+
"defaultValue": null
46+
}
47+
],
48+
"blockOutputs": [
49+
{
50+
"@visokiotype": "CustomBlockSchema.BlockOutputPublicOption",
51+
"id": "Output Data",
52+
"label": "Centroids",
53+
"displayName": "Shapes with centroids",
54+
"tooltip": null
55+
}
56+
],
57+
"docker": {
58+
"@visokiotype": "CustomBlockSchema.DockerCustomBlockPublicOption",
59+
"customBaseImage": null,
60+
"useCustomBaseImage": false,
61+
"customSystemLibraries": null,
62+
"installVisokioRepLibraries": false
63+
},
64+
"designLock": false,
65+
"apiMode": "BATCH"
66+
}

Preparation/Geo/Centroids/script.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import pandas as pd
2+
from omniscope.api import OmniscopeApi
3+
omniscope_api = OmniscopeApi()
4+
import geopandas as gpd
5+
6+
# Load the GeoJSON file
7+
gdf = gpd.read_file(omniscope_api.get_option("geojsonfile"))
8+
9+
# Calculate the centroids
10+
gdf['centroid'] = gdf.geometry.centroid
11+
12+
# Create a new DataFrame with the country names (using 'nuts118nm') and their centroids
13+
14+
shapeIDfield = omniscope_api.get_option("shapeIDfield")
15+
16+
result = gdf[[shapeIDfield, 'centroid']].copy()
17+
18+
# Rename the columns for clarity
19+
result.columns = [shapeIDfield, 'centroid_point']
20+
21+
# Split the centroid into latitude and longitude
22+
result['Lat'] = result['centroid_point'].y
23+
result['Long'] = result['centroid_point'].x
24+
25+
# Drop the centroid_point column
26+
result = result[[shapeIDfield, 'Lat', 'Long']]
27+
result
28+
29+
omniscope_api.write_output_records(result, output_number=0)
30+
omniscope_api.close()
33.3 KB
Loading

0 commit comments

Comments
 (0)