Skip to content

Commit

Permalink
add gispo work as batch
Browse files Browse the repository at this point in the history
  • Loading branch information
Samuli Massinen committed Feb 7, 2024
1 parent cc591f1 commit 2f57d50
Show file tree
Hide file tree
Showing 6 changed files with 700 additions and 369 deletions.
2 changes: 1 addition & 1 deletion 2-tiedon-yhdistely.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@
"\n",
"# Prosessointi\n",
"# Käsittele aineistot kunta kerrallaan!\n",
"kunta_ktj = ktj.loc[ktj['validkuntanro'] == '<insert kuntanro here>']\n",
"kunta_ktj = ktj.loc[ktj['kuntakoodi'] == '<insert kuntanro here>']\n",
"kunta_ktj_yhd = kiinteistotunnusToKaavaIndex(kiinttunnus_data=kiinttunnukset, kaava_data=kunta_ktj)\n",
"\n",
"# Aja vain kerran ennen ensimmäistä appendia!\n",
Expand Down
33 changes: 28 additions & 5 deletions 3-tiedon-korjaukset.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"source": [
"# Lue master geopackagesta kaavatietoja, esim. kuntien yleiskaavat\n",
"data = gpd.read_file(r\"<insert filepath here>.gpkg\", \n",
" layer=\"yleiskaavat_kunta\")\n",
" layer=\"<insert layer here>\")\n",
"\n",
"# Tarkista geometrioiden oikeellisuus\n",
"data_validity = checkGeometryValidity(data=data, geom_column='geometry')\n",
Expand Down Expand Up @@ -169,7 +169,7 @@
"# Tallenna korjattu geometriatieto\n",
"saveGPKG(data_repaired, \n",
" outputfp=r\"<insert filepath here>.gpkg\", \n",
" layer_name=\"yleiskaavat_kunta\")"
" layer_name=\"<insert layer here>\")"
]
},
{
Expand Down Expand Up @@ -211,9 +211,11 @@
"id": "787a8bf2",
"metadata": {},
"source": [
"Kuntien yleiskaavojen ulkorajat noudattelevat kiinteistörajoista muodostettua kuntarajaa vaihtelevalla tarkkuudella. Tästä johtuen VOOKA-projektissa tunnistettiin jokaisen Etelä-Savon kunnan osalta parhaiten toimiva tolaranssi-raja-arvo, jonka avulla kunnan yleiskaavarajat saadaan suoristettua suhteessa kiinteistörajoista muodostettuun kuntarajaan. **Muilla maantieteellisillä alueilla raja-arvot voivat olla hyvinkin erilaiset riippuen lähtöaineiston topologisesta laadusta! Suositeltava ensimmäinen testiarvo on 0.015!**\n",
"Kuntien yleiskaavojen ulkorajat noudattelevat kiinteistörajoista muodostettua kuntarajaa vaihtelevalla tarkkuudella. Tästä johtuen VOOKA-projekteissa tunnistettiin jokaisen Etelä- ja Pohjois-Savon kunnan osalta parhaiten toimiva tolaranssi-raja-arvo, jonka avulla kunnan yleiskaavarajat saadaan suoristettua suhteessa kiinteistörajoista muodostettuun kuntarajaan. **Muilla maantieteellisillä alueilla raja-arvot voivat olla hyvinkin erilaiset riippuen lähtöaineiston topologisesta laadusta! Suositeltava ensimmäinen testiarvo on 0.015!**\n",
"\n",
"Suluissa kuntakoodi:\n",
"\n",
"**Etelä-Savo**\n",
"- Enonkoski (046): no data\n",
"- Hirvensalmi (097): 0.00009\n",
"- Juva (178): 0.015\n",
Expand All @@ -227,6 +229,27 @@
"- Sulkava (768): 0.0005\n",
"- Savonlinna (740): 0.05\n",
"\n",
"**Pohjois-Savo**\n",
"- Iisalmi: 0.05\n",
"- Joroinen: 0.015\n",
"- Kaavi: 0.015\n",
"- Keitele: 0.015\n",
"- Kiuruvesi: 0.015\n",
"- Kuopio: 0.0005\n",
"- Lapinlahti: 0.015\n",
"- Leppävirta: 0.0005\n",
"- Pielavesi: 0.015\n",
"- Rautavaara: 0.015\n",
"- Rautalampi: 0.015\n",
"- Siilinjärvi: 0.015\n",
"- Sonkajärvi: 0.015\n",
"- Suonenjoki: 0.015\n",
"- Tervo: 0.015\n",
"- Tuusniemi: 0.05\n",
"- Varkaus: 0.015\n",
"- Vesanto: 0.015\n",
"- Vieremä: 0.015\n",
"\n",
"Näitä raja-arvoja on syytä käyttää ETL-prosessissa."
]
},
Expand Down Expand Up @@ -317,7 +340,7 @@
"source": [
"# Kuntien yleiskaavat ja MML:n kiinteistöpalsta-aineisto, josta muodostetaan kunkin kunnan ulkorajat\n",
"palstat = readPickleData(inputfp=r\"<insert filepath here>.pkl\")\n",
"kunta_kaavadata = gpd.read_file(r\"<insert filepath here>.gpkg\", layer=\"yleiskaavat_kunta\")"
"kunta_kaavadata = gpd.read_file(r\"<insert filepath here>.gpkg\", layer=\"<insert layer here>\")"
]
},
{
Expand Down Expand Up @@ -346,7 +369,7 @@
"outputs": [],
"source": [
"# Tallennus, kun kaikkien kuntien yleiskaavarajat on korjattu\n",
"saveGPKG(kunta_kaavadata, outputfp=r\"<insert filepath here>.gpkg\", layer_name=\"yleiskaavat_kunta\")"
"saveGPKG(kunta_kaavadata, outputfp=r\"<insert filepath here>.gpkg\", layer_name=\"<insert layer here>\")"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion lib/OGC_API_Features_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def getDataFromAPI(url, username, password, outfp):
dataframe = gpd.GeoDataFrame()

# Request URL as JSON with Pohjois-savo bounding box
url = url + "?f=json&bbox=26.0,61.5,29.1,64.1"
url = url + "?f=json&bbox=26.0,61.5,29.1,64.1" # Etelä-Savo "?f=json&bbox=26.2207,61.0,29.6968,62.6570" #61.1520

#---------------------------------------------
#Request URL and list data in dict
Expand Down
19 changes: 18 additions & 1 deletion lib/accessory_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,24 @@ def contains_number(string):
try:

date_str = row[date_column]

if date_str != None:
# 178 yksi erilliskäsittely
if date_str[0:5] == 'xx.xx' and row['kaavaselite'] == 'Kirkonseutu Jukajärvi rakennuskaavan muutos':
date_str = '10.2.1983'
# 213 kirjausvirhe
elif date_str == '20042208' and row['kaavaselite'] == 'Reinikkalan ranta-asemakaavan muutos 2004':
date_str = '20041108'
# 588 pari erilliskäsittelyä
elif date_str[0:8].lower() == 'e-sympk.' and row['kuntakoodi'] == '588':
date_str = date_str[0:-14]
elif date_str[0:20].lower() == 'osittain vahv. ymp.k' and row['kuntakoodi'] == '588':
date_str = date_str[-9:]
# 097 yksi erilliskäsittely
elif date_str == '1977, 1988' and row['kaavaselite'] == 'ETUNIEMEN RANTAKAAVAN MUUTOS':
date_str = '1.1.' + date_str[-4:]
# Vain vuosi ilmoitettu
if len(date_str) == 4 and contains_number(date_str) == True:
elif len(date_str) == 4 and contains_number(date_str) == True:
date_str = '1.1.' + date_str
else:
None
Expand Down Expand Up @@ -274,6 +289,8 @@ def contains_number(string):
input_df = input_df.rename(columns={'new_date_column': date_column})

return(input_df)


def download_file(url, save_path):
response = requests.get(url, stream=True)
if response.status_code == 200:
Expand Down
Loading

0 comments on commit 2f57d50

Please sign in to comment.