Has anyone had problems with Construct Geometry from Fields?

2031
10
05-17-2019 08:10 AM
KylePerri
Esri Contributor

For some reason when I try using construct geometry from fields the drop down for the x, y, and z values don't populate. It is unable to read the fields from my GeoEvent definitions, but other dropdowns work. For instance, I was able to create the geometry using a field calculator processor. I haven't tried all input connectors, but I saw it on the watch a folder for files connector and the poll a website for JSON connector. Has anyone else had this issue and know a solution?

0 Kudos
10 Replies
DanielCota1
Occasional Contributor

Hi Kyle Perri

Is this nested JSON by any chance? Can you provide the configuration xml file or a screenshot of the input connector config?

0 Kudos
KylePerri
Esri Contributor

No, the JSON isn't nested and I have my lat and long set to double in the geoevent definition.

0 Kudos
DanielCota1
Occasional Contributor

Kyle Perri

Can you manually input the field names and see if it takes and allows the geometry to be constructed? 

0 Kudos
KylePerri
Esri Contributor

When I do that no data goes through and I get errors in the logs because it can't find the fields.

0 Kudos
BrianLomas
Occasional Contributor III

Was the GE definition created by GE or did you manually create it? I've had a lot more success having GE create the definition than manually doing it. Also, can you share an example of the JSON?

0 Kudos
KylePerri
Esri Contributor

I tried both ways, no luck. I was just using this API for testing purposes: https://api.wheretheiss.at/v1/satellites

JSON looks like this: 

[{"name":"iss","id":25544}]
0 Kudos
DanielCota1
Occasional Contributor

Hi Kyle Perri‌,

If that truly is the JSON you are working with, then it would be expected that Geoevent is unable to construct geometry from it. There are no geometry fields to work with. Meaning, there are no X/Y or Lat/Lon fields that Geoevent would be able to read and create a geometry field from.

I have worked with that API before, and I have found that using this endpoint works much better for testing:

https://api.wheretheiss.at/v1/satellites/25544

As you see, it includes a latitude and longitude field that you can specify in the input connector configuration.

Keep in mind, however, that this API is known to intermittently go down and requests to certain endpoints sometimes result in a "Too many requests" error. Aside from that, it should work better for your testing. 

If you are interested, you can also try using http://api.open-notify.org/iss-now.json for your GE testing. I have not personally experienced any outage issues with this one. However, this JSON is nested, so be mindful of that when specifying the JSON Object.

Hope this helps!

-Daniel

0 Kudos
KylePerri
Esri Contributor

Yeah and that's fine I understand that it doesn't have lat/long, but it doesn't even have any values in the dropdown. You'd think GeoEvent would at least populate the dropdown with values that could be lat/long. For instance, the id is a double in the field definition, so it should show up in the dropdown. I point to that link because my actual data is sensitive and can't be shared, but that data does have lat/long values and still nothing in the dropdown.

0 Kudos
DanielCota1
Occasional Contributor

Gregory ChristakosRJ Sunderman

Do you guys have an idea as to why this could be? Does GE only populate the field options in the dropdown based on field type? Tags? 

I just checked on my GE Server and see something similar. When I click on the dropdown, I see field options coming from the OOTB "incident" definition and not the definition I have set for the input. I have always manually typed out the field names for the X and Y parameters and it has never given me an issue, so I did not really put much thought into it.

Maybe we are just missing something?

0 Kudos