second map

This commit is contained in:
='fauz
2025-07-02 21:27:29 +07:00
parent 51d467f357
commit 17ac6a643f
7 changed files with 1017 additions and 25 deletions
Binary file not shown.
Binary file not shown.
+37 -23
View File
@@ -93,33 +93,46 @@ def fetch_geojson(conn, level, parent_code=None):
) AS path
FROM wil_provinsi
"""
cur.execute(old_sql)
sql = """
SELECT
wp.id,
wp.kode,
wp.nama,
lat,
lng,
path,
pip.persen as idx
FROM wil_provinsi wp
JOIN vw_persentase_indeks_provinsi pip on pip.kode = wp.kode
WHERE lower(pip.status) in ('maju','mandiri')
"""
cur.execute(sql)
elif level == 'kabupaten':
cur.execute(""" SELECT id, kode, nama,lat,lng,
CONCAT(
REPEAT('[', 4 - (LENGTH(path) - LENGTH(REPLACE(path, '[', '')))),
path,
REPEAT(']', 4 - (LENGTH(path) - LENGTH(REPLACE(path, ']', ''))))
) AS path
FROM wil_kabupatenkota WHERE provinsi_id = %s""", (parent_code,))
cur.execute(""" SELECT wk.id, wk.kode, wk.nama,lat,wk.lng,wk.path, pik.persen_per_status as idx
FROM wil_kabupatenkota wk
JOIN vw_persentase_indeks_kabkota pik on pik.kode = wk.kode
WHERE provinsi_id = %s
""", (parent_code,))
elif level == 'kecamatan':
cur.execute("""
SELECT id, kode, nama,lat,lng,
CONCAT(
REPEAT('[', 4 - (LENGTH(path) - LENGTH(REPLACE(path, '[', '')))),
path,
REPEAT(']', 4 - (LENGTH(path) - LENGTH(REPLACE(path, ']', ''))))
) AS path
FROM wil_kecamatan WHERE kabupatenkota_id = %s""", (parent_code,))
SELECT wkc.id, wkc.kode, wkc.nama,wkc.lat,wkc.lng,wkc.path , pic.persen as idx
FROM wil_kecamatan wkc
JOIN vw_persentase_indeks_kecamatan as pic on pic.id = wkc.id
WHERE kabupatenkota_id = %s""", (parent_code,))
elif level == 'desa':
cur.execute("""
SELECT id, kode, nama, null as lat, null as lng,
CONCAT(
REPEAT('[', 4 - (LENGTH(path) - LENGTH(REPLACE(path, '[', '')))),
path,
REPEAT(']', 4 - (LENGTH(path) - LENGTH(REPLACE(path, ']', ''))))
) AS path
FROM wil_desa WHERE kecamatan_id = %s""", (parent_code,))
SELECT wd.id, wd.kode, wd.nama, wd.lat, wd.lng,wd.path,
CASE
WHEN lower(mid.status) = 'mandiri' THEN 100
WHEN lower(mid.status) = 'maju' THEN 70
WHEN lower(mid.status) = 'berkembang' THEN 50
WHEN lower(mid.status) = 'tertinggal' THEN 20
WHEN lower(mid.status) = 'sangat tertinggal' THEN 0
END as idx
FROM wil_desa wd
JOIN metrik_indeks_desa mid on mid.kode_desa = wd.kode_int
WHERE kecamatan_id = %s""", (parent_code,))
else:
return {"type": "FeatureCollection", "features": []}
features = []
@@ -153,7 +166,8 @@ def fetch_geojson(conn, level, parent_code=None):
"kode": row[1],
"nama": row[2],
"lat": row[3],
"lng": row[4]
"lng": row[4],
"idx": row[6]
}
}
features.append(feature)
+7
View File
@@ -48,6 +48,13 @@ def index():
print(data)
return render_template('index.html', provinsis=data)
@main.route('/map')
def map():
with get_connection() as conn:
data = apiController.provinsi(conn)
print(data)
return render_template('map.html', provinsis=data)
@main.route("/geojson/provinsi")
def get_provinsi():
with get_connection() as conn: