ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΉ ΠΈ ΡΠΌΡ β NTA Π½Π° vc.ru
ΠΡΠΈΠ²Π΅Ρ, VC!
1880 ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ²
Π‘ Π²Π°ΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° NTA ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ°ΠΉΠΊΠ°.
Π₯ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΊΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΡΠΉ ΠΏΡΡΡ.
ΠΡΠ» ΠΎΠ±ΡΡΠ½ΡΠΉ Π΄Π΅Π½ΡΠΊ, ΡΠΈΠ΄Π΅Π» Ρ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π°ΠΉΡΠΈΡΠ½ΡΠΌΠΈ Π΄Π΅Π»Π°ΠΌΠΈ. ΠΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ΅Π» ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΈ ΡΠΊΠ°Π·Π°Π»: Β«ΠΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ Π΄ΠΎ Π³ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² Π΄Π»Ρ ΡΡΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ²Β». ΠΡΠΈ ΡΡΠΎΠΌ Π±Π΅Π· Π²ΡΡΠΊΠΈΡ ΠΏΠ»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ API ΠΎΠ½Π»Π°ΠΉΠ½ ΠΊΠ°ΡΡ, ΠΈ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ. ΠΠΉΡΠΈΡΠ½ΠΈΠΊ ΠΏΠΎΠ½ΡΠ», Π°ΠΉΡΠΈΡΠ½ΠΈΠΊ ΠΏΡΠΈΠ½ΡΠ», Π°ΠΉΡΠΈΡΠ½ΠΈΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ²ΠΎΡ Π·Π°Π²Π΅ΡΠ½ΡΡ ΡΠΊΡΠ΅Π»ΡΠΊΡ ΠΈ ΠΏΠΎΡΡΠ» ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
ΠΠ· ΡΠΊΠΎΠ»ΡΠ½ΡΡ ΡΡΠΎΠΊΠΎΠ² Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠ½ΠΈΠ», ΡΡΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠ°ΠΆΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π½Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (ΡΠΈΡΠΎΡΡ ΠΈ Π΄ΠΎΠ»Π³ΠΎΡΡ) Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ. Π ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ, Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ» Π·Π°Π΄Π°ΡΡ Π½Π° 4 ΡΠ°ΡΡΠΈ:
- ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π³ΡΠ°Π½ΠΈΡΡ;
- ΠΏΡΠ΅Π΄ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ;
- ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π°Π΄ΡΠ΅ΡΠΎΠ²;
- Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°ΡΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ.
Π ΠΏΠΎΡΡΠ΅ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π» Π²Π΅ΡΡ ΠΏΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ Π½ΡΠ°Π½ΡΡ, ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊΠΎΠ΄. Π, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ² ΡΠΈΡΠ°ΡΠ΅Π»Ρ Ρ ΠΌΠΎΠ΅ΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΡΠΎΡΠΈΠ΅ΠΉ, ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°ΡΡΡΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Python. Π‘ΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΡΡΡΠΏΠ°Π»ΠΈ Jupyter Notebook (Anaconda), PyCharm ΠΈ DataSpell ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ JetBrains (Π΄Π΅Π»ΠΎ Π²ΠΊΡΡΠ°). ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Numpy, Pandas, Plotly, Geopy, Selenium.
ΠΠ° ΡΡΠΎΠΌ ΠΏΡΠ΅Π»ΡΠ΄ΠΈΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΡΡΠΈ.
ΠΠ°ΡΠ°Π»ΠΎ Π½Π°ΡΠ°Π»
ΠΠ»Ρ ΡΠ°ΡΡΡΡΠ° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΈ Π΄ΠΎ Π³ΡΠ°Π½ΠΈΡΡ Π½ΡΠΆΠ½Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, ΡΡΠΎ Π½Π΅ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΌΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΡ. ΠΡΡΡΠ½ΡΡ ΠΏΡΠΎΠΊΠ»ΠΈΠΊΠΈΠ²Π°ΡΡ ΡΠΎΡΠΊΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅ ΠΌΠ½Π΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ, Π° ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠΈΡΠΊΠ° Π³ΠΎΡΠΎΠ²ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ»Π°ΡΡ. Π ΡΡΠ°ΡΡΡΡ, ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ jsonβΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π³ΡΠ°Π½ΠΈΡ ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠ² Π ΠΎΡΡΠΈΠΈ, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄ΠΎΡΡΠ°Ρ Π½ΡΠΆΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΌΠΏΠΎΡΡΠΈΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠΎΡ ΡΠ°Π½ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠ»ΠΎΠ²Π°ΡΡ (dict) ΠΈ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
#ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ «.json»-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ import json #ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ import pandas as pd #ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ import numpy as np # Π‘ΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ Π²ΡΠ΅Ρ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² with open(‘data//gadm41_RUS_1.json’, encoding = ‘utf-8’) as js: dict_coordin_border = json.load(js)
Π‘Π»ΠΎΠ²Π°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ json Ρ ΠΎΡΠΎΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½, ΠΈ Ρ Π½ΠΈΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠ°Π·Π²Π°Π½ΠΈΡ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠ»ΡΡΠ°ΠΌ:
- dict_coordin_border[‘features’] [‘properties’][‘NL_NAME_1’] β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ±ΡΠ΅ΠΊΡΠ° ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΠΈ;
- dict_coordin_border[‘features’] [‘geometry’][‘coordinates’] β ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π³ΡΠ°Π½ΠΈΡ ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΡΠ΄Π΅Π»ΡΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΡΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Ρ Π² pandas.DataFrame Π΄Π°Π½Π½ΡΠ΅, Π³Π΄Π΅:
- region β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π°;
- lon β Π΄ΠΎΠ»Π³ΠΎΡΠ° ΡΠΎΡΠΊΠΈ Π³ΡΠ°Π½ΠΈΡΡ;
- lat β ΡΠΈΡΠΎΡΠ° ΡΠΎΡΠΊΠΈ Π³ΡΠ°Π½ΠΈΡΡ;
- sequence_number β ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ;
- color β ΡΠ²Π΅Ρ ΡΠ΅Π³ΠΈΠΎΠ½Π°.
ΠΠ°ΡΠ΅ΠΌ ΡΠ²Π΅Ρ ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ? Π Π°ΡΡΠΊΠ°ΠΆΡ Π΄Π°Π»Π΅Π΅, Π° ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠ΄:
df_coord_reg = pd.DataFrame() sequence_number = 0 for regions in dict_coordin_border[‘features’]: #Π‘ΡΠ°Π²ΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠ² if regions[‘properties’][‘NL_NAME_1’] in [‘ΠΠΎΡΠΎΠ½Π΅ΠΆΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’, ‘ΠΡΡΠ½ΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’, ‘ΠΡΡΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’, ‘Π ΠΎΡΡΠΎΠ²ΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’, ‘ΠΠ΅Π»Π³ΠΎΡΠΎΠ΄ΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’]: for list_coordin_lv_1 in regions[‘geometry’][‘coordinates’]: for list_coordin_lv_2 in list_coordin_lv_1: for list_coordin_finish_lvl in list_coordin_lv_2: #ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ df: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π°, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ Π³ΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ²Π΅Ρ ΡΠ΅Π³ΠΈΠΎΠ½Π° if regions[‘properties’][‘NL_NAME_1’] == ‘ΠΠΎΡΠΎΠ½Π΅ΠΆΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’: color = ‘purple’ elif regions[‘properties’][‘NL_NAME_1’] == ‘ΠΡΡΠ½ΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’: color = ‘white’ elif regions[‘properties’][‘NL_NAME_1’] == ‘ΠΡΡΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’: color = ‘blue’ elif regions[‘properties’][‘NL_NAME_1’] == ‘Π ΠΎΡΡΠΎΠ²ΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’: color = ‘yellow’ elif regions[‘properties’][‘NL_NAME_1’] == ‘ΠΠ΅Π»Π³ΠΎΡΠΎΠ΄ΡΠΊΠ°ΡΠΎΠ±Π»Π°ΡΡΡ’: color = ‘red’ df_coord_reg = df_coord_reg.
Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ dataframe:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°
ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π³ΡΠ°Π½ΠΈΡ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² ΡΠΎ Π²ΡΠ΅Ρ ΡΡΠΎΡΠΎΠ½. ΠΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ° ΡΠ°ΡΡΡ Π³ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. Π Π·Π΄Π΅ΡΡ Ρ Ρ ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ plotly.
Plotly β ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ . Π‘ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ, Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ°ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, 2DβΠ΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ, 3DβΠ³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° β ΡΠΈΠ»ΡΠ½ΡΠΉ Β«Π·Π²Π΅ΡΡΒ» Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»Π°, ΠΈ ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
ΠΠΎΠ΄ Π½ΠΈΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΡΠΊΠΈ Π½Π° Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠ°ΡΡΠ΅ ΠΠ²ΡΠΎΠΏΡ:
#ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ import plotly.graph_objs as go #ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π½Π° ΠΊΠ°ΡΡΠ΅ ΡΠΎΡΠΊΠΈ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° fig = go.Figure(data=go.Scattergeo( #Scattergeo — Π΄Π°Π½Π½ΡΠ΅, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΡΠ΅ΠΊ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠ°ΡΡΠ΅ lon = df_coord_reg[‘lon’], #ΠΠΎΠ»Π³ΠΎΡΠ° ΡΠΎΡΠΊΠΈ lat = df_coord_reg[‘lat’], #Π¨ΠΈΡΠΎΡΠ° ΡΠΎΡΠΊΠΈ mode = ‘markers’, #ΠΠΈΠ΄ ΡΠΎΡΠΊΠΈ marker_color = df_coord_reg[‘color’], #Π¦Π²Π΅Ρ ΡΠΎΡΠΊΠΈ text = df_coord_reg[‘region’] + ‘ ‘ + df_coord_reg[‘sequence_number’] #Π’Π΅ΠΊΡΡ ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° ΡΠΎΡΠΊΡ ), ) fig.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°:
Π‘ΡΠ±ΡΠ΅ΠΊΡΡ Π Π€
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅, Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ . ΠΡΡΠ°Π»ΠΎΡΡ ΠΈΠ· Π½ΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΊΠΈ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΠΈ Π·Π°Π΄Π°Π²Π°Π» ΡΠ²Π΅Ρ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΈ ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ.
ΠΡΠ±ΠΈΡΠ°Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° Π³ΡΠ°Π½ΠΈΡΠ΅, ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Ρ Π΄Π°Π½Π½ΡΠ΅ Π² dataframe:
#ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΊΠ°ΡΡΡ, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ΅Π·Ρ df ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈΡ Π² Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ df_coord_border = pd.concat([df_coord_reg[11:411], df_coord_reg[1278:1459], df_coord_reg[974:1226], df_coord_reg[3084:3157], df_coord_reg[2004:2413]])
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π² jsonβΡΠ°ΠΉΠ».
#ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ dataframe fig = go.Figure(data=go.Scattergeo(lon = df_coord_border[‘lon’], lat = df_coord_border[‘lat’], mode = ‘markers’, marker_color = df_coord_border[‘color’], text = df_coord_border[‘region’] + ‘ ‘ + df_coord_border[‘sequence_number’])) fig.update_layout( title = ‘Π‘ΡΠ±ΡΠ΅ΠΊΡΡ Π Π€’, geo = dict( scope=’europe’, landcolor = «green», countrycolor = «black», ), width=1500, #Π¨ΠΈΡΠΈΠ½Π° ΠΊΠ°ΡΡΡ height=750 #ΠΡΡΠΎΡΠ° Π³ΡΠ°ΡΠΈΠΊΠ° ) #Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π² json df_coord_border[[‘lon’, ‘lat’]].to_json(‘data//border.json’)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ
ΠΡΠΎ? Π Π³Π»Π°Π²Π½ΠΎΠ΅, Π·Π°ΡΠ΅ΠΌ?
ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎΠ± ΡΠΊΡΠ΅Π»ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» Π² Π½Π°ΡΠ°Π»Π΅? ΠΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΠ»ΠΎ ΠΈ Π΅Ρ Π²ΡΠ΅ΠΌΡ.
Π‘ΠΎΠ·Π΄Π°Ρ Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΡΠ°Π΄ΠΊΡ, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΈΡΠ°Ρ xlsxβΡΠ°ΠΉΠ». Π‘ΠΌΠΎΡΡΡ Π½Π° Π΄Π°Π½Π½ΡΠ΅.import pandas as pd import numpy as np import json #ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° df_start_adress = pd.read_excel(‘data//starting_address.xlsx’) border_coord_df.head()
Π‘ΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Π§ΡΠΎ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ? Π ΡΠ°ΠΉΠ»Π΅ Ρ ΡΠ°Π½ΡΡΡΡ 6 228 Π°Π΄ΡΠ΅ΡΠΎΠ², ΠΈ, Π΄Π°ΠΆΠ΅ Π²Π·Π³Π»ΡΠ½ΡΠ² Π½Π° ΡΡΡ Π²ΡΠ±ΠΎΡΠΊΡ, Π·Π°ΠΊΡΠ°Π΄ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· dataframe Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠΈ:
#Π£Π΄Π°Π»ΠΈΠΌ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ df_start_adress = df_start_adress.drop_duplicates() df_start_adress #None ΠΎΡΡΡΡΡΡΠ²ΡΡΡ df_start_adress.info() #NaN,None ΠΈ ΠΏΡΡΡΠΎΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ ΡΡΡΠΎΠΊΠΈ df_start_adress[df_start_adress[‘ΠΏΠΎΠ»Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ’].str.len() <= 5]
ΠΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΊΠΎΠ΄Π°
Π ΡΡΠ°ΡΡΡΡ, ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² Π½Π΅ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ, Π° ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² dataframe ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΡΡ Π½Π° 2 000 ΡΡΡΠΎΠΊ.
ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
- ΠΠ΅Ρ ΡΡΡΠΎΠ³ΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° Π°Π΄ΡΠ΅ΡΠΎΠ². ΠΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡΡ HTTP ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ API ΡΠ°ΠΉΡΠΎΠ².
ΠΠ΄ΡΠ΅ΡΠ° Π±Π΅Π· ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°
2. Π Π°Π΄ΡΠ΅ΡΠ°Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Β«ΠΠ΄ΡΠ΅Ρ ΠΈΠ· Π ΠΎΡΡΠ΅Π΅ΡΡΡΠ°:Β». ΠΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ°ΠΊΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ² Π² Β«Π―Π½Π΄Π΅ΠΊΡ.ΠΠ°ΡΡΠ°Ρ Β», Π²ΡΠ΄Π°Π΅ΡΡΡ Π°Π΄ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»Π° Π ΠΎΡΡΠ΅Π΅ΡΡΡΠ° Π³ΠΎΡΠΎΠ΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΡΡΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠ°:
ΠΠ΄ΡΠ΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Β«ΠΠ΄ΡΠ΅Ρ ΠΈΠ· Π ΠΎΡΡΠ΅Π΅ΡΡΡΠ°:Β»
3. ΠΡΠ±Π»ΠΈΡΡΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΡΠ΅Π΅ΠΊ. ΠΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π² ΠΎΠ½Π»Π°ΠΉΠ½ ΠΊΠ°ΡΡΠ°Ρ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ Π²ΡΠ΄Π°ΡΡΡΡ, ΠΈΠ»ΠΈ ΡΡΡΠΎΠΈΡΡΡ ΠΌΠ°ΡΡΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΈΠΌ Π°Π΄ΡΠ΅ΡΠ°ΠΌ, ΡΠΎΡΠ½Π΅Π΅, ΠΏΡΡΡ ΠΎΡ ΡΠ΅Π±Ρ ΠΊ ΡΠ΅Π±Π΅:
ΠΡΠ±Π»ΠΈΡΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
4. ΠΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΡ.
ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΈΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π²ΠΈΠ΄Ρ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄ΠΎΠ·Π°ΡΡΠ°ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ. ΠΡΠΎΠ²Π΅ΡΠΈΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π΄ΡΠ΅ΡΠΎΠ², Ρ ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ Β«Π―Π½Π΄Π΅ΠΊΡ ΠΠ°ΡΡΡΒ». ΠΠ½ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π΄ΡΠ΅ΡΠ° Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ: ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Ρ Π ΠΎΡΡΠ΅Π΅ΡΡΡΠΎΠΌ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ formating_text. Π ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Ρ ΡΠΏΠΈΡΠΎΠΊ, ΡΠ°Π·Π±ΠΈΠ²Π°Ρ ΡΡΡΠΎΠΊΡ Π½Π° ΡΠ»ΠΎΠ²Π° ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Ρ ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ. ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΡΠΏΠΈΡΠΊΠ΅, ΡΠΎ Π΅Π³ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ. Π ΠΊΠΎΠ½ΡΠ΅ ΡΠ΄Π°Π»ΡΡ ΠΈΠ· ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Β«Π ΠΎΡΡΠ΅Π΅ΡΡΡΒ»:
def formating_text(text): old_text = text.split() new_text = [] for word in old_text: if word not in new_text: new_text.append(word) return ‘ ‘.join(new_text).replace(‘ΠΠ΄ΡΠ΅Ρ ΠΈΠ· Π ΠΎΡΡΠ΅Π΅ΡΡΡΠ°: ‘, ») df_start_adress[‘formating_adress’] = df_start_adress[‘ΠΏΠΎΠ»Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ’].apply(lambda x: formating_text(x))
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΎΡ ΡΠ°Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠΆΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΡΠ°ΠΏΡ.
ΠΡΡΠ΅Π²ΠΎ ΠΈ ΡΠ΅ΡΠ΄ΠΈΡΠΎ
Π‘Π°ΠΌΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Selenium. ΠΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π°? ΠΠ½Π° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ Π½Π° ΡΠΎΠ½Π΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠ°ΡΡΠΈΠ½Π³Π°. ΠΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ:
- API Β«Π―Π½Π΄Π΅ΠΊΡ.ΠΠ°ΡΡΒ». ΠΠ°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΎΡΡ ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½Π° Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π»Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π½ΠΎ ΠΎΠ½Π° Π½Π΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°. Π ΠΌΡ Π΄ΠΎΠ³ΠΎΠ²Π°ΡΠΈΠ²Π°Π»ΠΈΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π’Π°ΡΠΈΡΡ Π―Π½Π΄Π΅ΠΊΡΠ°
Π’Π°ΡΠΈΡΡ Π½Π° 15.05.2023 Π³. ΠΡΡΠΎΡΠ½ΠΈΠΊ
2. Http/HttpsβΠ·Π°ΠΏΡΠΎΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅, Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΡΠ°ΠΉΡΡ. ΠΠΎ Ρ ΠΌΠΎΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ get/ post-Π·Π°ΠΏΡΠΎΡΠΎΠ² β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π·Π°ΠΏΡΠΎΡ https://yandex.ru/maps/213/moscow/house/mokhovaya_ulitsa_11s1 ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π³ΠΎΡΠΎΠ΄Π°, ΡΠ»ΠΈΡΡ ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° Π΄ΠΎΠΌΠ° Π½Π° ΡΡΠ°Π½ΡΠ»ΠΈΡΠ΅. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΠΎΡΠΈΠ»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.
ΠΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Selenium, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠ΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΡΠΈΡΡ Π―Π½Π΄Π΅ΠΊΡΠ°, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π‘ΡΠ°Π·Ρ ΡΠΊΠ°ΠΆΡ, Π·Π΄Π΅ΡΡ Ρ Π½Π΅ Π±ΡΠ΄Ρ ΠΎΠ±ΡΡΠ°ΡΡ Π²Π°Ρ Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅. ΠΠΈΡΡ ΡΠ°Π·Π±Π΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°, ΠΏΠΎΠΊΠ°ΠΆΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠ°Π½ΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π±ΡΠ°ΡΠ·Π΅Ρ Google Chrome, ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π±ΡΠ΄ΡΡ Π΄Π»Ρ Google. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Selenium ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π² ΡΠ΅Π±Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Google, ΠΈ Π΄Π»Ρ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ webdriver.Chrome(). ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΡΠ°ΠΉΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ get.
from selenium import webdriver #ΠΠ΄ΡΠ΅Ρ ΡΠ°ΠΉΡΠ° «Π―Π½Π΄Π΅ΠΊΡ.ΠΠ°ΡΡΡ» url_adress = ‘https://yandex.ru/maps’ #ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Google driver = webdriver.Chrome(‘chromedriver.exe’) #ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΡΠ°ΠΉΡ driver.get(url_adress) time.sleep(5)
ΠΠΎΠΈΡΠΊ Π°Π΄ΡΠ΅ΡΠ°. ΠΠ΄ΡΠ΅Ρ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠΎΠ»Π΅ ΡΠΎΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°, ΠΊΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° «<input class=βinput__control_boldβ >». ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ WebDriverWait ΠΈ ExpectedCondition. Selenium Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½ ΠΈΠ»ΠΈ Π½Π΅ ΠΊΠΎΠ½ΡΠΈΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ.
ΠΠ°Π»Π΅Π΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ Π°Π΄ΡΠ΅ΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ send_keys ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΏΠΎΠΈΡΠΊ, ΠΈΠΌΠΈΡΠΈΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Enter ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ send_keys(Keys.ENTER).
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # ΠΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ delay = 10 # ΠΠΎΠΈΡΠΊ ΡΠΎΡΠΌΡ Π²Π²ΠΎΠ΄Π° Π½Π° ΡΠ°ΠΉΡΠ΅ elem_search_string = WebDriverWait(driver, delay) \ .until(EC.presence_of_element_located( (By.XPATH, «//input[@class=’input__control _bold’]»))) # ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΡ elem_search_string.send_keys(adress) # ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΠΎΠΈΡΠΊ elem_search_string.send_keys(Keys.ENTER)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠ°. ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΡΡΠ°ΡΠ½ΠΎ, Π―Π½Π΄Π΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ΄Π°ΡΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π°Π΄ΡΠ΅ΡΠ°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ WebDriverWait ΠΈ ExpectedCondition Π·Π°ΠΏΠΈΡΡΠ²Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ:
# ΠΠΎΠΈΡΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ elem_search_2 = WebDriverWait(driver, delay) \ .until(EC.presence_of_element_located( (By.XPATH, «//div[@class=’toponym-card-title-view__coords-badge’]»))) # ΠΠ°ΠΏΠΈΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π°Π΄ΡΠ΅ΡΠ° coord = elem_search_2. text
ΠΠΎ Π―Π½Π΄Π΅ΠΊΡ β Π½Π΅ Π²ΡΠ΅ΠΌΠΎΠ³ΡΡ, ΠΎΠ½ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΠΎΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². ΠΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π΄Π΅ΡΡ:
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ°
ΠΠ° ΡΠ»ΡΡΠ°ΠΉ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ Ρ Π±ΡΠ°Π» ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ½ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π½ΡΠΆΠ½ΡΠΌ ΠΌΠ½Π΅ Π°Π΄ΡΠ΅ΡΠΎΠΌ:
elem_first_list = WebDriverWait(driver, delay) \ .until(EC.presence_of_element_located( (By.XPATH, «//div[@class=’search-snippet-view__body _type_toponym’]»))) elem_first_list.click()
Π Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΠΎΡΠΈΡΠ°Ρ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ:
try: elem_clear = WebDriverWait(driver, 2) \ .until(EC.presence_of_element_located( (By.XPATH, «//a[@class=’small-search-form-view__pin’]»))) except: elem_clear = WebDriverWait(driver, 2) \ .until(EC.presence_of_element_located( (By.XPATH, «//div[@class=’small-search-form-view__icon _type_close’]»)))
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΈ ΠΎΡΠΈΡΡΠΊΡ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠ²ΡΠΎΡΡΡ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΅ΡΡ 3 000 ΡΠ°Π· ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ°ΠΉΠ».
Π€ΠΈΠ½ΠΈΡΠ½Π°Ρ ΠΏΡΡΠΌΠ°Ρ
ΠΡΡΠ°Π»ΠΎΡΡ Π΄Π΅Π»ΠΎ Π·Π° ΠΌΠ°Π»ΡΠΌ: ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΡ. Π‘ ΡΡΠΈΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Geopy.
Geopy β ΡΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Python Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ², Π³ΠΎΡΠΎΠ΄ΠΎΠ², ΡΡΡΠ°Π½ ΠΈ Π΄ΠΎΡΡΠΎΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π³Π΅ΠΎΠΊΠΎΠ΄Π΅ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ°Π½Π΅Π΅, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΠΈ Π°Π΄ΡΠ΅ΡΠ°. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡ ΠΈΡ Π² Π½ΡΠΆΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π² ΡΠ°Π±ΠΎΡΠ΅.
#ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ import pandas as pd from geopy.distance import geodesic as GD import json from tqdm import tqdm #ΠΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ with open(«data/adress_coord. json», ‘r’, encoding=’utf-8-sig’) as ad_cor: adress_coord_dict = json.load(ad_cor) border_coord_df = pd.read_json(«data//border.json») #ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ»ΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π² df atress_coord_df = pd.DataFrame(adress_coord_dict.items(), columns=[‘adress’, ‘coord’]) # ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π³ΡΠ°Π½ΠΈΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ list_border_coord = list([(row[‘lat’], row[‘lon’]) for index, row in border_coord_df.iterrows()])
ΠΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Geopy ΠΌΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΡΠ°ΡΡΡΠΈΡΠ°Π΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ β geodesic. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Ρ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ geodesic
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π² ΡΡΠ½ΠΊΡΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°ΡΡ ΡΠΈΡΠΎΡΡ ΠΈ Π΄ΠΎΠ»Π³ΠΎΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ°, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠ°. ΠΠ»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎΠ±Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄Π°Π²Π°Π»ΠΈΡΡ ΠΏΠΎΠΏΠ°ΡΠ½ΠΎ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ: ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΡ (km, kilometers), ΠΌΠ΅ΡΡΡ (m, meters), ΠΌΠΈΠ»ΠΈ (mi, miles) ΠΈ Ρ. Π΄.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π³ΡΠ°Π½ΠΈΡΡ ΠΈ Π°Π΄ΡΠ΅ΡΠΎΠΌ:
def distance_calculation(start_coord): list_dist = [] for bord_coord in list_border_coord: #ΠΠ»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ GD([1 ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ],[2 ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ]. [Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ]) dist = GD(start_coord, bord_coord).km #ΠΠΎΠ±ΠΎΠ²Π»ΡΠ΅ΠΌ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ list_dist.append(dist) #ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ΅ return min(list_dist) tqdm.pandas() atress_coord_df[‘dist_to_bor’] = atress_coord_df[‘coord’].progress_apply(lambda x: distance_calculation(x))
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
ΠΡΠ΅Π½ΠΊΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π°
ΠΠ»Ρ ΡΠ΄Π°ΡΠΈ ΠΈΡΠΎΠ³ΠΎΠ²ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²Π΅Π΄Ρ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π»ΡΠ±ΠΈΡ. ΠΡΠΊΡΡΠ²Π°Ρ Google Maps ΠΈ Π°Π΄ΡΠ΅ΡΠ° ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΡΠ΅Π»ΡΠΊΠΈ, ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π³ΡΠ°Π½ΠΈΡΡ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠΊΡ. Π, ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠΈΡΡΠ½ΠΊΠΎΠ², ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Ρ, Π° ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΡ β Π² Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π½ΠΎΡΠΌΠ°Ρ .
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
ΠΡΠΎΠ³
Π§ΡΠΎ Ρ ΠΌΠΎΠ³Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎ ΠΈΡΠΎΠ³Ρ? ΠΠ°Π΄Π°ΡΠ° Π½Π΅ΠΎΠ±ΡΡΠ½Π°Ρ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΠΈ Π² ΠΌΠ΅ΡΡ ΡΠ»ΠΎΠΆΠ½Π°Ρ. ΠΠΎΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°Π»ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Pandas, Selenium, Plotly ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π» Π½Π° Π½ΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Geopy. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½, Π° ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΡ β Π² Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΡΠ°ΠΌΠΊΠ°Ρ . ΠΠ°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»ΠΈ Π΄Π°Π»ΡΡΠ΅ Π² ΡΠ°Π±ΠΎΡΡ.
Π ΠΎΠ±ΡΠ΅ΠΌ, Π·Π°Π΄Π°ΡΠ° ΠΌΠ½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ. Π― ΠΏΠΎΠ»ΡΡΠΈΠ» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠΏΡΡ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΊΠΈΠ΅ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ, ΠΈ Π½Π° ΡΡΠΎΠΌ Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΠΏΠΎΡΡ. ΠΠ΅Π»Π°Ρ Π²ΡΠ΅ΠΌ ΡΠ΄Π°ΡΠΈ!)
P. S. ΠΡΡΠ°ΡΠΈ, ΡΡΡΡ Π½Π΅ Π·Π°Π±ΡΠ», Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π° Github.
βAppΒ Store: ΠΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΊΠ°ΡΡΠ΅
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠ·ΠΌΠ΅ΡΡΠΉΡΠ΅ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΏΡΠΎΠΊΠ»Π°Π΄ΡΠ²Π°ΠΉΡΠ΅ ΠΌΠ°ΡΡΡΡΡ Π΄Π»Ρ Π±Π΅Π³Π°, ΠΏΠΎΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅! ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΌ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π»ΠΈΡΠ½Π΅Π³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠ°ΡΡΡΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΏΠΎ ΠΊΠ°ΡΡΠ΅, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ»ΠΎΠΆΠΈΡ ΠΌΠ°ΡΡΡΡΡ. Π Π°ΡΡΡΠΎΡΠ½ΠΈΡΠΌ ΠΈ ΠΌΠ°ΡΡΡΡΡ ΠΏΠΎΡΡΠΈΡΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ!
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅, Π½ΠΎ Ρ Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π²ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
:
1. ΠΡΠΎΠΊΠ»Π°Π΄ΡΠ²Π°ΠΉΡΠ΅ ΠΌΠ°ΡΡΡΡΡΡ Π΄Π»Ρ Π±Π΅Π³Π° ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ»ΠΊΠΈ;
2. Π Π°ΡΡΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΊΠ°ΡΡΠ΅;
3. Π Π°ΡΡΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π·Π΄Π°Π½ΠΈΠΉ, ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ, Π΄ΠΎΡΠΎΠ³ ΠΈ Ρ.Π΄;
4. Π Π°ΡΡΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΊΠ°ΡΡΠ΅;
5. Π Π°ΡΡΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΏΡΠΎΡΠ»ΠΈ Π·Π° Π΄Π΅Π½Ρ;
6. Π ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ.
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΈ ΡΠ΅ΠΆΠΈΠΌΠ°:
1) Β«Π Π°ΡΡΠ΅Ρ ΠΌΠ°ΡΡΡΡΡΠ°Β» — ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΠΌΠ°ΡΠΊΠ΅ΡΡ Π½Π° ΠΊΠ°ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΌΠ°ΡΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΠΊΠ°ΡΡΠ΅ — Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΌΠ°ΡΡΡΡΡ Π΄Π»Ρ Ρ
ΠΎΠ΄ΡΠ±Ρ, Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄Π° ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ.
2) Β«ΠΠΎΡΡΠΈΡΠ°ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅Β» — ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉ.
3) Β«Π Π°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ Π½Π° ΠΊΠ°ΡΡΠ΅Β» — ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠ° Π½Π° ΠΊΠ°ΡΡΠ΅, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΈΡΠ°Π΅Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΡ
ΡΠΈΠ³ΡΡ Π½Π° ΠΊΠ°ΡΡΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ!
«>20 ΠΌΠ°Ρ 2022 Π³.ΠΠ΅ΡΡΠΈΡ 1.1
— ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
— ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅
ΠΡΠ΅Π½ΠΊΠΈ ΠΈ ΠΎΡΠ·ΡΠ²Ρ
1 ΠΎΡΠ΅Π½ΠΊΠ°
Π₯ΠΎΡΠΎΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅Ρ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΌΠΎΠ΅Π³ΠΎ Π³ΠΎΡΠΎΠ΄Π°
Π―ΠΊΡΡΡΠΊ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ! ΠΠΎΡΡΠΎΠΌΡ 2 Π·Π²Π΅Π·Π΄Ρ
Garbage
Piece of crap
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Sergey Irgeshov ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ Π²Β ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π½ΠΈΠΆΠ΅. ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Β ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
ΠΠ°Π½Π½ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΒΠΌΡΠ΅ Π΄Π»ΡΒ ΠΎΡΡΠ»Π΅ΠΆΠΈΒΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΈ Π½Π° ΡΠ°ΠΉΡΠ°Ρ , ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌ:
ΠΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΒΡΠ΅Π»Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅
ΠΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈΡΡ ΡΠ±ΠΎΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Β ΡΠ²ΡΠ·Π°Π½Ρ ΡΒ Π»ΠΈΡΠ½ΠΎΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
- ΠΠ΅ΠΎΠΏΠΎΠ·ΠΈΡΠΈΡ
- ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΒΡΠΎΡΡ
- ΠΠ°Π½Π½ΡΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΒΠ½ΠΈΠΈ
ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ². ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
- ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ
- Sergey Irgeshov
- Π Π°Π·ΠΌΠ΅Ρ
- 52,7Β ΠΠ
- ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ
- ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
- ΠΠΎΠ·ΡΠ°ΡΡ
- 4+
- Copyright
- Β© Irgeshov Sergey
- Π¦Π΅Π½Π°
- ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΠΎ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ
ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡΡ
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ ΠΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ | Maptive
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ ΠΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ | ΠΠ°ΠΏΡΠΈΠ²ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Maptive Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅! Π§ΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π»ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ Maptive.
ΠΡΡΡΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π²Π°ΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ°.
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ Maptive ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ. ΠΡΠΎ, Π½Π°ΡΡΠ΄Ρ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π½Π°ΡΠΈΠΌΠΈ ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π΅Π΄Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ°.
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
Π Π°ΡΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ, Π³ΠΎΡΠΎΠ΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΎΠ²ΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΡΠ°Π³ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Maptive
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π² Maptive.
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠ°ΡΡΡ.
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ: ΠΎΠ΄Π½ΠΎΡΠΎΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ .
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΡΡΠΎΡ, ΡΡΠΎΠ±Ρ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠΎΡΠΊΡ, Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π²ΡΠΎΡΡΡ ΡΠΎΡΠΊΡ (ΠΈ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠΎΡΠ΅ΠΊ, ΡΡΠ΅ΡΡΡ, ΡΠ΅ΡΠ²Π΅ΡΡΡΡ, ΠΏΡΡΡΡ ΠΈ Ρ. Β Π΄. ΡΠΎΡΠΊΠΈ).
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ?
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΡΡΠΈ. Π Π°ΡΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ, ΠΊΡΡΠΏΠ½ΡΠΌΠΈ Π³ΠΎΡΠΎΠ΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π½Π° ΠΊΠ°ΡΡΠ΅.
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ Maptive ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ.
ΠΠ°ΠΊ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ Maptive ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½Π΅ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·Ρ Π²Π°ΡΠ΅ΠΌΡ Π±ΠΈΠ·Π½Π΅ΡΡ
- ΠΠ·ΠΌΠ΅ΡΡΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π²Π°ΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ²:Β Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΠΌΠΈ ΠΈ Π²Π°ΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ°ΠΌΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΠΎΡΠΈΡΠΎΠ² Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ°.
- ΠΠ·ΠΌΠ΅ΡΡΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°ΠΌΠΈ:Β Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π°ΡΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ Π½Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±Π»ΠΈΠ·ΠΊΠΎ Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ.
- ΠΠ·ΠΌΠ΅ΡΡΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ²: ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ²ΠΎΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΎΠΊ, Π½Π°Ρ ΠΎΠ΄Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π»ΠΈΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΊ Π²Π°ΡΠ΅ΠΌΡ Π±ΠΈΠ·Π½Π΅ΡΡ.
- ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ:Β Π§Π΅ΡΠΊΠ°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ ΠΈ Π²ΡΡΡΠ΅Ρ.
- ΠΠ·ΠΌΠ΅ΡΡΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°ΡΡΠΊΠΎΠ², Π·Π΄Π°Π½ΠΈΠΉ, ΠΊΡΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ!
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ Maptive ΠΏΡΠΎΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ. Π Π°ΡΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²ΡΠ΅Π³ΠΎ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ.
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ (ΠΎΡ A Π΄ΠΎ B)Β».
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΡΡΠΎΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΠΎΡΠΊΡ, Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π²ΡΠΎΡΡΡ ΡΠΎΡΠΊΡ.
- ΠΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΡΠ½ΠΊΡΠΈΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ, Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΠΊΠ°ΡΡΠ΅.
- ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠ½ΠΊΡΠΈΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ, ΡΠ΅Π»ΠΊΠ½ΡΠ² Β«XΒ» Π² ΠΊΠΎΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄Π²ΡΠΌΡ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ.
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΎΡΠΊΠ°ΠΌ (ΠΎΡ A Π΄ΠΎ B Π΄ΠΎ C Π΄ΠΎ D)Β».
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΡΡΠΎΡ, ΡΡΠΎΠ±Ρ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ ΡΠ΅Π»ΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΈΠ·ΠΌΠ΅ΡΡΠ»ΠΈΡΡ.
- ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΡΠΎΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΡΠ½ΠΊΡΠΈΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΠΎΡΠΊΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ Π΄ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π½Π°ΠΆΠ°Π»ΠΈ.
- ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅Π»ΠΊΠ½ΡΠ² Π·Π½Π°ΡΠΎΠΊ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°.
- ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠ½ΠΊΡΠΈΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅, ΡΠ΅Π»ΠΊΠ½ΡΠ² Β«XΒ» Π² ΠΊΠΎΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ.
ΠΠ°ΠΊ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Maptive
Pin Maps: ΠΈΠ·ΠΌΠ΅ΡΡΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΊΠ°ΡΡΠ΅.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΉ: ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅ ΠΈ ΡΠ°ΡΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.
Boundary Tool: ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π³ΡΠ°Π½ΠΈΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΡΡΠΎΠ²ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΠ°ΠΉΠΎΠ½ΠΎΠ², Π³ΠΎΡΠΎΠ΄ΠΎΠ², ΡΡΠ°ΡΠΎΠ² ΠΈ Ρ. Π΄. ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΠΏΡΡΠΈ, Π° Π½Π΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΌΠ°ΡΡΡΡΡΠΎΠ² Maptive,Β ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΡΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π½ΡΡ Π²Π΅ΡΡΠΈΡ Maptive ΠΈ Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ.
ΠΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΉΡΠ°ΡΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² cookie
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΠΏΡΡΠΌΡΡ Π»ΠΈΠ½ΠΈΡ Π² ΠΠ°ΡΡΠ°Ρ Google
ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ|ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΠΏΡΡΠΌΡΡ Π»ΠΈΠ½ΠΈΡ Π² ΠΠ°ΡΡΠ°Ρ Google
https://www. nytimes.com/2018/07/02/technology/personaltech/google-maps- Straight-distance.htmlΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ ΠΠΠ£Π‘Π’ΠΠ’Π¬ Π ΠΠΠΠΠΠ£Π’ΠΠ₯ΠΠΠ§ΠΠ‘ΠΠΠ― ΠΠΠΠ‘ΠΠΠΠΠ
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π³Π° ΠΏΠΎ ΡΠΎΡΡΠ΅, Google ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ.
Π ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Google Maps (ΡΠ»Π΅Π²Π°) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ, Π²Π²Π΅Π΄Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ ΠΈ Π²ΡΠ±ΡΠ°Π² Β«ΠΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅Β». ΠΠ°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΊΠ°ΡΡΡ Π²ΠΏΡΠ°Π²ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ½ΡΠΉ ΠΊΡΡΠΆΠΎΠΊ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π½Π°Π΄ Π²ΡΠΎΡΡΠΌ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΎΠ±Π°Π²ΠΈΡΡΒ» (+), ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΡΠΌΠΎΠΉ ΠΏΡΠΎΠ±Π΅Π³ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°. Π€ΠΎΡΠΎβ¦ The New York Times
Q. ΠΠ°ΡΡΡ Google ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π°Π²ΡΠΎΠΌΠ°Π³ΠΈΡΡΡΠ°Π»ΡΠΌ, Π½ΠΎ Π΅ΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π³ΠΎΡΠΎΠ΄Π°ΠΌΠΈ Β«ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉΒ»?
A. ΠΠ°ΡΡΡΡΡΡ ΠΏΡΠΎΠ΅Π·Π΄Π°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ Google ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄ΠΎΡΠΎΠ³ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ΅Π·Π΄Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ±ΠΈΡΡ Π²Π°Ρ Ρ ΠΏΡΡΠΈ. Π₯ΠΎΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΅Π·Π΄ΠΎΠΊ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, ΠΠ°ΡΡΡ Google ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Google Maps Π² Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠΌ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π³ΠΎΡΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅Β» Π² ΠΌΠ΅Π½Ρ. ΠΠ°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π²ΡΠΎΡΡΡ ΡΠΎΡΠΊΡ Π½Π° ΠΊΠ°ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΡΠΌΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΠΌΠΈΠ»ΡΡ ΠΈ ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠ°Ρ , ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π°.
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΊΠ°ΡΡΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΡΠΎΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Ρ ΠΈΡ Π½Π° ΠΊΠ°ΡΡΠ΅. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ X Π² ΠΏΠΎΠ»Π΅ Π²Π½ΠΈΠ·Ρ ΡΠΊΡΠ°Π½Π°.
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Google Maps Π΄Π»Ρ Android ΠΈ iOS Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡΠ΅ ΠΏΠ°Π»ΡΡΠ΅ΠΌ Π½Π° ΡΠΊΡΠ°Π½, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΡΠ°ΡΠ½Π°Ρ ΠΌΠ΅ΡΠΊΠ° Π½Π° ΠΊΠ°ΡΡΠ΅. ΠΠ΄ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΡΠ½ΠΈΡΠ΅ΡΡ Π΅Π³ΠΎ ΠΈ ΠΏΡΠΎΠΊΡΡΡΠΈΡΠ΅ Π²Π½ΠΈΠ·, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Β«ΠΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅Β».