Я работаю над ГИС-проектом и неправильно отображаю точки на карте.
Данные представлены в формате .csv.
Я создал PostGIS DB и успешно импортировал данные .
cursor = connection.cursor()
for i in range(0,len(new_data)):
region = new_data['region'][i]
time = pd.to_datetime(new_data['time'][i],format='%H:%M:%S').time()
date = datetime.strptime(new_data['date'][i],'%m/%d/%Y').date()
age = new_data['age_group'][i]
sex = new_data['vic_sex'][i]
type_cr = new_data['cr_type'][i]
point = Point(float(new_data['latitude'][i]),float(new_data['longitude'][i]))
cursor.execute( "insert into ny_crimes (region,age_group,vic_sex,cr_type,geom,date,time) values ('{}','{}','{}','{}','{}','{}','{}')".format( str(region), str(age), str(sex),
str(type_cr), point.wkt, str(date), str(time) ) )
connection.commit()
cursor.close()
Затем я создал карту pyleaflet:
center = [40.8540630260001,-73.9047838229999]
zoom = 12
map = Map(center=center, zoom=zoom)
map
Я попытался отобразить некоторые точки данных в городе Нью-Йорк, но вместо Нью-Йорка он отображается в другом месте.
# Query for New York
cursor = connection.cursor()
cursor.execute("""SELECT ST_AsGeoJSON(geom), cr_type
FROM ny_crimes
LIMIT 15 """ )
points = cursor.fetchall()
for i in points:
layer = json.loads(i[0])
layergeo = GeoJSON(data = layer)
map.add_layer(layergeo)
cursor.close()
Я думаю, что проблема связана с системой координат или некоторыми стандартами измерений.
Я проверил координаты в Google Maps, и это правильно, но в моем случае это не работает
p = Point([40.7068086420001,-73.751051106])