точка не правильно нанесена на карту с помощью pyleaflet - PullRequest
0 голосов
/ 02 февраля 2020

Я работаю над ГИС-проектом и неправильно отображаю точки на карте.

Данные представлены в формате .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])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...