-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgeometry.py
executable file
·56 lines (44 loc) · 1.66 KB
/
geometry.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import pandas as pd
from osgeo import ogr,osr
"""
import reverse_geocoder as rg
import pprint
def reverseGeocode(coordinates):
result = rg.search(coordinates)
pprint.pprint(result[0].get('admin2'))
if __name__=="__main__":
coordinates =(42.8, -3.6)
reverseGeocode(coordinates)
"""
data = pd.read_csv('final.csv')
driver = ogr.GetDriverByName("ESRI Shapefile")
data_source = driver.CreateDataSource("/Users/nickramos/Desktop/Coding/seismos/seismos.shp")
srs = osr.SpatialReference() #WGS84
srs.ImportFromEPSG(4326)
layer = data_source.CreateLayer("Eventos Sismicos", srs, ogr.wkbPoint)
field_name = ogr.FieldDefn("Id", ogr.OFTString)
field_name.SetWidth(24)
layer.CreateField(field_name)
field_region = ogr.FieldDefn("Place", ogr.OFTString)
field_region.SetWidth(24)
layer.CreateField(field_region)
layer.CreateField(ogr.FieldDefn("Time", ogr.OFTDate))
layer.CreateField(ogr.FieldDefn("Latitude", ogr.OFTReal))
layer.CreateField(ogr.FieldDefn("Longitude", ogr.OFTReal))
layer.CreateField(ogr.FieldDefn("Mag", ogr.OFTReal))
layer.CreateField(ogr.FieldDefn("Depth", ogr.OFTReal))
for index,row in data.iterrows():
feature = ogr.Feature(layer.GetLayerDefn())
feature.SetField("Id", row['id'])
feature.SetField("Place", row['place'])
feature.SetField("Time", row['time'])
feature.SetField("Latitude", row['latitude'])
feature.SetField("Longitude", row['longitude'])
feature.SetField("Mag", row['mag'])
feature.SetField("Depth", row['depth'])
wkt = "POINT(%f %f)" % (float(row['longitude']) , float(row['latitude']))
point = ogr.CreateGeometryFromWkt(wkt)
feature.SetGeometry(point)
layer.CreateFeature(feature)
feature = None
data_source = None