Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. CREATE TABLE public.vesselpositionslijn (
  2. id bigint NOT NULL DEFAULT nextval('vesselpositionslijn_id_seq'::regclass),
  3. name character varying COLLATE pg_catalog."default",
  4. mmsi bigint,
  5. "position" geometry(LineString,32634),
  6. CONSTRAINT vesselpositionslijn_pkey PRIMARY KEY (id)) WITH (
  7. OIDS = FALSE)
  8. TABLESPACE pg_default;
  9.  
  10. ALTER TABLE public.vesselpositionslijn
  11. OWNER to postgres;
  12.  
  13. name = str(response.json()[i]['AIS']['NAME'])
  14. mmsi = int(response.json()[i]['AIS']['MMSI'])
  15. latitude = float(response.json()[i]['AIS']['LATITUDE'])
  16. longitude = float(response.json()[i]['AIS']['LONGITUDE'])
  17. timestamp = datetime.datetime.strptime(str(response.json()[i]['AIS']['TIMESTAMP'][:-4]), '%Y-%m-%d %H:%M:%S')
  18. insert_stmt = 'insert into vesselpositions ( name, mmsi, "position", "timestamp" ) values ( %s, %s, ST_SetSRID(ST_MakePoint(%s, %s),4326), %s )'
  19. cur.execute ( insert_stmt, ( name, mmsi, longitude, latitude, timestamp ) )
  20. update_stmt = 'update vesselpositionslijn set position = ST_AddPoint(position, ST_MakePoint(%s, %s)) where name = %s'
  21. cur.execute ( update_stmt, ( longitude, latitude, name) )
  22.  
  23. SELECT
  24. ais.mmsi,
  25. ST_MakeLine(ais.geom ORDER BY utc) As track
  26. FROM ais_points as ais
  27. GROUP BY mmsi;
  28.  
  29. SELECT
  30. ais.mmsi,
  31. ST_MakeLine(ais.geom ORDER BY datetime) As track
  32. FROM ais_points as ais
  33. WHERE ST_Intersects(ST_SetSRID(
  34. ST_MakeBox2D(St_MakePoint(-50, 1), ST_MakePoint(-51, 2)), 4326), ais.geom)
  35. AND datetime BETWEEN startdate AND enddate
  36. GROUP BY mmsi;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement