pyJedAI Spatial Component#
In this notebook we present the pyJedAI Geospatial Interlinking functionality.
!pip install pyjedai:0.1.4
^C
!python --version
Python 3.9.16
Libraries injection#
import csv
import sys
import os
from pyjedai.datamodel import SpatialData
from pyjedai.spatial.filtering import StandardSpatialFiltering
from pyjedai.spatial.initialization import StandardSpatialInitialization
from pyjedai.spatial.verification import StandardSpatialVerification
Data reading and pyJedAI-formating#
data_dir = '../data/spatial/'
maxInt = sys.maxsize
while True:
try:
csv.field_size_limit(maxInt)
break
except OverflowError:
maxInt = int(maxInt/10)
path1 = os.path.join(data_dir,"regions_gr.csv")
path2 = os.path.join(data_dir,"wildlife_sanctuaries.csv")
delimiter1 = "\t"
delimiter2 = "\t"
# Read the CSV files
file1 = open(path1, newline='', encoding='utf-8')
file2 = open(path2, newline='', encoding='utf-8')
dataset_1 = csv.reader(file1, delimiter=delimiter1)
dataset_2 = csv.reader(file2, delimiter=delimiter1)
spatial_data = \
SpatialData(source_reader=dataset_1,
source_delimiter="\t",
target_reader=dataset_2, target_delimiter="\t",
skip_header=True)
Spatial Filtering#
SSF = StandardSpatialFiltering()
spatial_index, theta_x, theta_y = SSF.process(spatial_data)
Spatial Initialization#
SSI = StandardSpatialInitialization(budget=1000, wScheme="MBR")
priority_pairs = SSI.process(spatial_data, spatial_index, theta_x=theta_x, theta_y=theta_y)
Spatial Verification#
SSV = StandardSpatialVerification(q_pairs=100)
SSV.process(spatial_data=spatial_data, priority_pairs=priority_pairs)
SSV.evaluate()
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Performance:
Precision: 0.72%
Recall: 6.48%
F1-score: 1.29%
Progressive Geometry Recall: 2.33%
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
{'Precision:': 0.7192008879023307,
'Recall:': 6.48,
'F1-score:': 1.2947052947052946,
'Progressivr geometry recall:': 2.3338068812430635}