POST
|
A web-service is returning blank values in lat/long causing ValueError: could not convert string to float: Output: 34.0746400246
-118.37200592
34.0968797927
-118.449631186
34.0635760772
-118.327509298
34.0635760772
-118.327509298
34.0746400246
-118.37200592
34.0828880733
-118.320862797
34.0828880733 Code: import requests
import json
import jsonpickle
f2 =open('C:\Users\GeoffreyWest\Desktop\Request.json')
data2 = jsonpickle.decode((f2.read()))
data2 = jsonpickle.encode(data2)
fc= (aFC)
print data2
url2 = "url"
headers2 = {'Content-type': 'text/plain', 'Accept': '/'}
r2 = requests.post(url2, data=data2, headers=headers2)
decoded2 = json.loads(r2.text)
print json.dumps(decoded2, sort_keys=True, indent=4)
if arcpy.Exists(fc):
arcpy.Delete_management(fc)
try:
r2
except requests.exceptions.ConnectTimeout as e:
print "Too slow Mojo!"
items = []
for sr in decoded2['Response']['ListOfServiceRequest']['ServiceRequest']:
SRAddress = sr['SRAddress']
lat = "3"
y = sr['Latitude']
x = sr['Longitude']
str_list = filter(None, y)
str_list2 = filter(None, x)
print str_list
print str_list2
dt = np.dtype([('LatitudeShape', '<f8'),
('LongitudeShape', '<f8'),
('Latitude', '<f8'),
('Longitude', '<f8'),
])
items.append((str_list2,
str_list,
str_list2,
str_list,
))
sr = arcpy.SpatialReference(4326)
arr = np.array(items,dtype=dt)
NumPyArray = arcpy.da.NumPyArrayToFeatureClass(arr, fc, ['longitudeshape', 'latitudeshape'], sr)
print "success"
... View more
05-12-2015
09:01 AM
|
0
|
3
|
9115
|
POST
|
I have a NumPy Array to FC script that parses a JSON web-service. The outer loop writes to my FC correctly, however my inner loop variables come back as not defined when appending the items. The outer loop variables include geographic data such as lon/lat, address and other ancillary information about a service request such as service request number, service request type, time created, etc. The inner loop contains information relating to each service request number, address, etc. I am using Python 2.6 and ArcGIS 10.2.1 import arcpy import numpy import requests import json import jsonpickle fc = "myFC" f2 =open('C:\Users\GeoffreyWest\Desktop\Request.json') data2 = jsonpickle.encode(data2) url2 = "myURL" headers2 = {'Content-type': 'text/plain', 'Accept': '/'} r2 = requests.post(url2, data=data2, headers=headers2) decoded2 = json.loads(r2.text) print json.dumps(decoded2, sort_keys=True, indent=4) if arcpy.Exists(fc😞 arcpy.Delete_management(fc) try: r2 except requests.exceptions.ConnectTimeout as e: print "Too slow Mojo!" items = [] for sr in decoded2['Response']['ListOfServiceRequest']['ServiceRequest']: SRAddress = sr['SRAddress'] Latitude = sr['Latitude'] Longitude = sr['Longitude'] ReasonCode = sr['ReasonCode'] SRNumber = sr['SRNumber'] FirstName = sr['FirstName'] LastName = sr['LastName'] ResolutionCode = sr['ResolutionCode'] HomePhone = sr['HomePhone'] CreatedDate = sr['CreatedDate'] UpdatedDate = sr['UpdatedDate'] BulkyItem = sr['ListOfLa311BulkyItem'] ElectronicWaste = sr['ListOfLa311ElectronicWaste'] MoveInMoveOut = sr['ListOfLa311MoveInMoveOut'] IllegalDumping = sr['ListOfLa311IllegalDumpingPickup'] ServiceNotComplete = sr['ListOfLa311ServiceNotComplete'] BrushItems = sr['ListOfLa311BrushItemsPickup'] Containers = sr['ListOfLa311Containers'] MHA = sr['ListOfLa311MetalHouseholdAppliancesPickup'] DeadAnimalRemoval = sr['ListOfLa311DeadAnimalRemoval'] Manual = sr['ListOfLa311ManualPickup'] CreatedDate = datetime.datetime.strptime(CreatedDate, "%m/%d/%Y %H:%M:%S") UpdatedDate = datetime.datetime.strptime(UpdatedDate, "%m/%d/%Y %H:%M:%S") for sr in ElectronicWaste: for ewastelocation in ElectronicWaste['La311ElectronicWaste']: locationewaste = ewastelocation['CollectionLocation'] for sr in ElectronicWaste: for ewastetype in ElectronicWaste['La311ElectronicWaste']: itemEwaste = ewastetype['ElectronicWestType'] dt = np.dtype([('Address', 'U40'), ('LatitudeShape', '<f8'), ('LongitudeShape', '<f8'), ('Latitude', '<f8'), ('Longitude', '<f8'), ('ReasonCode','U128'), ('SRNumber', 'U40'), ('ElectronicWaste', 'U128'), ('FirstName', 'U40'), ('LastName', 'U40'), ('ResolutionCode','U128'), ('HomePhone', 'U40'), ('CreatedDate', 'U128'), ('UpdatedDate', 'U128'), ]) items.append((SRAddress, Latitude, Longitude, Latitude, Longitude, ReasonCode, SRNumber, locationewaste, FirstName, LastName, ResolutionCode, HomePhone, CreatedDate, UpdatedDate, )) sr = arcpy.SpatialReference(4326) arr = np.array(items,dtype=dt) NumPyArray = arcpy.da.NumPyArrayToFeatureClass(arr, fc, ['longitudeshape', 'latitudeshape'], sr) print "success" Output NameError: name 'locationewaste' is not defined
... View more
05-11-2015
08:46 AM
|
0
|
1
|
2853
|
POST
|
Yeah, but with a search cursor I am able to search the data with the specified range instead of creating a feature layer.
... View more
04-06-2015
08:53 AM
|
0
|
1
|
3864
|
POST
|
I have a NumPyArray that I would like to use a where clause . My workflow is if my first NumPyArray to feature fails then run another one with a where clause of data that has come into a json web-service in the past 10 minutes. I would ideally like to implement a where clause in both scenarios. Here is what I have: arr = np.array(items,dtype=dt)
sr = arcpy.SpatialReference(4326)
NumPyArray = arcpy.da.NumPyArrayToFeatureClass(arr, fc, ['longitudeshape', 'latitudeshape'], sr)
#I would like to use a five minute whereclause here for my Date field.
cursor = arcpy.SearchCursor(fc,"""Date BETWEEN '2014-02-16 16:53:25' AND '2015-02-17 16:53:25'""" )
for row in cursor:
print(row.getValue("Date"))
if row.getValue("Date") < datetime.datetime.now():
print "true"
else:
"excecute numpy array for a 10 minute window."
... View more
04-06-2015
08:21 AM
|
0
|
1
|
2829
|
POST
|
My goal is to search for the date range of my features. If the dates fall within my specified time period then do something, else do something else. A search cursor worked brilliantly. cursor = arcpy.SearchCursor(fc,"""Date BETWEEN '2014-02-16 16:53:25' AND '2015-02-17 16:53:25'""" )
for row in cursor:
print(row.getValue("Date"))
if row.getValue("Date") < datetime.datetime.now():
print "true"
... View more
04-06-2015
08:09 AM
|
0
|
4
|
3864
|
POST
|
I would like to query a feature classes date range. For instance, if there is data within a 2 day range then I would like to print true or do something else. I thought arcpy.Exist would do the job, but I am missing something here. I guess my arcpy.Exist is only seeing if the variable exists, how would I check to see if the actual where clause is True for my feature layer? query = arcpy.MakeFeatureLayer_management(fc, "QueryLayer", """Date BETWEEN '2014-02-16 16:53:25' AND '2014-02-17 18:53:25'""") try: query finally: if arcpy.Exists(query😞 print "true" else: print "no data"
... View more
04-06-2015
07:10 AM
|
0
|
8
|
11215
|
POST
|
Thanks Dan, I think I have been able to solve this with a return statement instead of raise.
... View more
04-06-2015
05:59 AM
|
0
|
1
|
11896
|
POST
|
I am using the Citizen Service Request local government template and when I submit a request the point does not appear on the map in the JSAPI app or in ArcMap, however, the added features are in my database. Error: Unable to complete operation.init.js:192 x
init.js:209 Error: Unable to complete operation. "Error: Unable to complete operation.
at Error (native)
at Object.g.load (http://js.arcgis.com/3.11/init.js:871:426)
at http://js.arcgis.com/3.11/init.js:191:69
at c (http://js.arcgis.com/3.11/init.js:76:221)
at d (http://js.arcgis.com/3.11/init.js:76:10)
at resolve.callback (http://js.arcgis.com/3.11/init.js:77:350)
at c (http://js.arcgis.com/3.11/init.js:76:436)
at d (http://js.arcgis.com/3.11/init.js:76:10)
at resolve.callback (http://js.arcgis.com/3.11/init.js:77:350)
at http://js.arcgis.com/3.11/init.js:195:300"
init.js:209 TypeError: Cannot read property 'toString' of undefined "TypeError: Cannot read property 'toString' of undefined
at http://js.arcgis.com/3.11/init.js:886:30
at String.replace (native)
at Object.e.substitute (http://js.arcgis.com/3.11/init.js:885:392)
at SortResultFeatures (http://67.227.0.42/CitizenServiceRequest/Application/CitizenServiceRequest/js/utils.js:634:25)
at Array.sort (native)
at http://67.227.0.42/CitizenServiceRequest/Application/CitizenServiceRequest/js/utils.js:355:22
at p._resolve (http://js.arcgis.com/3.11/init.js:1717:87)
at p._selectHandler (http://js.arcgis.com/3.11/init.js:1722:254)
at null._selectHandler (http://js.arcgis.com/3.11/init.js:177:296)
at http://js.arcgis.com/3.11/init.js:1690:397"
init.js:192 Error: Unable to complete operation.
init.js:209 Error: Unable to complete operation. "Error: Unable to complete operation.
at Error (native)
at Object.g.load (http://js.arcgis.com/3.11/init.js:871:426)
at http://js.arcgis.com/3.11/init.js:191:69
at c (http://js.arcgis.com/3.11/init.js:76:221)
at d (http://js.arcgis.com/3.11/init.js:76:10)
at resolve.callback (http://js.arcgis.com/3.11/init.js:77:350)
at c (http://js.arcgis.com/3.11/init.js:76:436)
at d (http://js.arcgis.com/3.11/init.js:76:10)
at resolve.callback (http://js.arcgis.com/3.11/init.js:77:350)
at http://js.arcgis.com/3.11/init.js:195:300"
init.js:192 Error: Unable to complete operation.
init.js:209 Error: Unable to complete operation._ssl: undefinedcode: 400details: Array[1]httpCode: 400log: undefinedmessage: "Unable to complete operation."stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: d "Error: Unable to complete operation.
at Error (native)
at Object.g.load (http://js.arcgis.com/3.11/init.js:871:426)
at http://js.arcgis.com/3.11/init.js:191:69
at c (http://js.arcgis.com/3.11/init.js:76:221)
at d (http://js.arcgis.com/3.11/init.js:76:10)
at resolve.callback (http://js.arcgis.com/3.11/init.js:77:350)
at c (http://js.arcgis.com/3.11/init.js:76:436)
at d (http://js.arcgis.com/3.11/init.js:76:10)
at resolve.callback (http://js.arcgis.com/3.11/init.js:77:350)
at http://js.arcgis.com/3.11/init.js:195:300"init.js:209 n
... View more
03-24-2015
02:25 PM
|
0
|
1
|
4041
|
POST
|
I am working on a proof of concept for a larger project and am sure this has been done and is possible, however I cannot find any examples anywhere. I would like to use my own ArcGIS Feature Service as an example where I use a Python script to parse fields that I would like to keep and print and all geometries. I can handle to print portion to CSV, then table to table conversion. The block below works fine in printing the feature service info. Later, I would like to use UPDATE to apply changes made in a web service directly to our feature service. import json
import urllib2
url = 'url'
r = urllib2.urlopen(url)
data = json.loads(r.read().decode(r.info().getparam('charset') or 'utf-8'))
print data Prints: {u'maxRecordCount': 1000, u'layers': [{u'id': 0, u'name': u'ServiceRequest.DBO.ServiceTypeDevSchema'}], u'allowGeometryUpdates': True, u'supportsDisconnectedEditing': False, u'description': u'', u'tables': [{u'id': 1, u'name': u'ServiceRequest.DBO.queryTable'}, {u'id': 2, u'name': u'ServiceRequest.DBO.queryTableLocation'}], u'initialExtent': {u'xmin': -118.79175291224679, u'ymin': 34.0096898681482, u'ymax': 34.27571360860003, u'xmax': -118.36725706880667, u'spatialReference': {u'wkid': 4326, u'latestWkid': 4326}}, u'documentInfo': {u'Category': u'', u'Author': u'', u'Title': u'', u'Comments': u'', u'Keywords': u'', u'Subject': u''}, u'capabilities': u'Create,Delete,Query,Update,Uploads,Editing', u'copyrightText': u'', u'units': u'esriDecimalDegrees', u'currentVersion': 10.21, u'enableZDefaults': False, u'hasVersionedData': False, u'spatialReference': {u'wkid': 4326, u'latestWkid': 4326}, u'fullExtent': {u'xmin': -118.54056884699997, u'ymin': 33.941116961000034, u'ymax': 34.222864945000026, u'xmax': -118.23978848099995, u'spatialReference': {u'wkid': 4326, u'latestWkid': 4326}}, u'syncEnabled': False, u'serviceDescription': u'', u'supportedQueryFormats': u'JSON, AMF'}
... View more
01-28-2015
01:25 PM
|
0
|
1
|
7413
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|