|
POST
|
Hi Peter, Are you still having this issue? In my time working with GeoEvent (4 years as an Esri Professional Services senior tech, doing a lot of GeoEvent consulting), I have found that both of these issues ("No service was found" and the 404) are because GeoEvent hasn't finished starting up. I've only seen the 404 when using Internet Explorer. Chrome and Firefox would still show the "No service was found" message until GeoEvent is fully up. I have sometimes seen up to 5 minutes for GeoEvent to start, sometimes after it had been starting fairly quickly. So when I see this, I stop what I'm doing and I WAIT. It could be an amount of time that "just couldn't be" but in 100% of cases, it was. Curious to know an update on your situation... Mark
... View more
06-13-2016
02:58 PM
|
1
|
9
|
3580
|
|
POST
|
You need to have registered an ArcGIS Server as a Data Store (the ArcGIS Server on the GeoEvent machine is automatically registered when you install GeoEvent, FYI). That ArcGIS Server needs to have a published feature service. When you have that, you can set up the "Add a Feature" or "Update a Feature" outputs and select the desired feature service to write/update features. Feature services require enterprise geodatabases, so once this is up and running, you're doing what you want to do: "store the received data in a enterprise geodatabase". Check out the "Introduction" tutorial at the GeoEvent gallery: GeoEvent Extension tutorials—Real-time Data Feeds and Sensors (10.4) | ArcGIS for Server It contains what you need to set up Add/Update outputs that write to geodatabases.
... View more
02-18-2016
01:12 PM
|
0
|
0
|
652
|
|
POST
|
Hi Mark, GeoEvent uses ArcGIS Server's JRE, so I'd think you'd want to add the cert to Server's cacerts located at: C:\Program Files\ArcGIS\Server\framework\runtime\jre\lib\security. Have you tried that? Mark
... View more
03-18-2015
07:58 AM
|
0
|
1
|
1388
|
|
POST
|
Brian, If you're creating XML files, then you could create a new connector that marries the Xml adapter with the File transport (Site-GeoEvent-Connectors-Create Connector). Then create an input using that connector. GeoEvent will "listen" to the folder and when any new xml file is created or placed in that folder, GeoEvent will ingest it and process the contents. It would work just like the out-of-box "Watch a Folder for New CSV Files" or "Watch a Folder for New JSON Files" input connnectors, but with XML files. Mark
... View more
01-30-2015
02:44 PM
|
0
|
0
|
1519
|
|
POST
|
Yes, it could, and it is most likely what's going on. Are you able to recompile using 10.3? Also, I've seen custom components not show up in the lists even when everything was deployed correctly, and with the same version. In that case, I did a manual delete and deployed again. For some reason, a second deployment often worked (sometimes three). I can't explain why, but if you recompile with 10.3 and it still doesn't show up in the list upon deployment, manually delete from /deploy and re-deploy from Manager and see if it works. But I'm pretty sure 10.2.1 compilation is what's causing the problem in this case.
... View more
01-30-2015
02:36 PM
|
0
|
0
|
1006
|
|
POST
|
Hi Luis, GeoEvent expects any jars in /deploy to be in a certain format. And any jars in /deploy are expected to be for a transport, adapter, or processor. The jars you are talking about are dependencies for your transport, but GeoEvent doesn't know this and is trying to process them as if they were transports, adapters, or processors. Are you using Maven to build your transport? When making custom GeoEvent components, you really want to start by using one of the existing samples. You can make a copy of one you think is closest to what you want, swap out the guts of the code, then build using the Maven configuration that was already set up in the SDK samples. Check out page 18 of the GeoEvent Developer Guide, at section "Starting a New Project". Mark
... View more
01-29-2015
02:13 PM
|
0
|
0
|
431
|
|
POST
|
Hi Shaning, 127.0.0.1 is what is known as the "loopback", and is the same as "localhost", both of which mean the computer your working on. So if your computer has a "real" IP of 10.59.66.102, you could use any one of these three items in the "Server" box in the GeoEvent Simulator: 127.0.0.1, localhost, or 10.59.66.102. If GeoEvent is installed on a different machine, then for "Server", you must enter the IP or machine name of the machine on which GeoEvent is installed. No matter which is the case, you must have created a TCP input in GeoEvent Manager ("Receive Text from a TCP Socket") on the GeoEvent machine. This TCP input is what the GeoEvent Simulator is trying to connect to. If there is no TCP input running on the machine and port you specify in the Simulator, you will receive the error you are seeing. Mark
... View more
01-29-2015
01:44 PM
|
4
|
1
|
5482
|
|
POST
|
Hi Brian, SOAP is just a protocol that specifies how to transfer XML back and forth. So in a GeoEvent sense, you wouldn't want a SOAP input, per se, but an XML one. GeoEvent inputs (and outputs) are a combination of 1) a transport and 2) an adapter. Transports just know how to sling the raw bytes back and forth, whereas Adapters work with the data itself. At 10.3, GeoEvent has an inbound XML adapter. Out of the box, GeoEvent has two inputs that use the XML Adapter: "Poll an External Website for XML" and "Receive XML on a REST Endpoint". I don't know exactly what you're trying to do but if you are receiving XML as a result of accessing a URL, then the Poll input may be what you want. It would continually reach out to that URL and process the inbound XML it receives each time. This is good for data that continually changes and receiving that data at a preset poll interval is sufficient. If you only want GeoEvent to process XML whenever it's truly necessary, whether at a high rate or low), then you may want to use the Receive input. You would then need to find a way to push data to the input's REST endpoint via HTTP POST, which is very easy using most programming/scripting languages. If you yourself are issuing the requests, i.e. via a browser, then you can download browser extensions (i.e. Chrome Poster) that send data the way you need. Mark
... View more
01-29-2015
01:34 PM
|
1
|
2
|
1519
|
|
POST
|
Hi Darryl, You shouldn't keep your custom components in /deploy yourself. This is where GeoEvent deploys .jars when you use Manager's "Add Local..." workflows. If you are placing something in /deploy yourself, then GeoEvent is going to attempt to use it right away (if you're familiar with Tomcat, it's like copying a .war into /webapps - Tomcat will "hot deploy" it). Note that you can place .jar's in /deploy yourself -- which does the same thing as Manager's "Add Local..." workflows -- it's just that you should do one or the other. To keep things clean, and myself sane, I keep my compiled .jar's in my NetBeans /dist folder, then deploy them to GeoEvent using Manager's "Add Local..." workflows. Manager then places the .jar in /deploy and GeoEvent picks it up and registers it for use. So I leave GeoEvent entirely in control of my /deploy folder when it comes time to deploying new components. Deleting is a different story, as Manager does not have an equivalent workflow for removing custom components. In the case of deleting custom components, just simply delete the .jar from /deploy yourself. GeoEvent will detect the file's deletion and unregister that custom component. Note that if you do this, 1) any existing inputs, outputs, or services that used your component will be in an error state and 2) any custom connectors that used a custom transport or adapter will then have their transport or adapter re-assigned to one that still exists in the list. This is most likely not desired, so you should also delete the custom connector that used the custom transport or adapter. Mark
... View more
01-29-2015
01:00 PM
|
0
|
2
|
1006
|
|
POST
|
Hi Munhwan, To unregister the custom transport, just delete it from the deploy folder. When you refresh the Transports list in Manager, your custom transport will no longer be in the list. Note that any inputs or outputs that used that transport will be in an error state after you delete the transport. Also note that any connectors that you had created that used that transport will automatically have their transport re-assigned to one that does still exist. For example, I have a custom transport for RabbitMQ. I created a new connector that used the RabbitMQ transport and Text adapter. After I deleted my RabbitMQ .jar from /deploy, my transport was gone from the transport list (expected) but my connector was still present and was set to use the Feature Service transport. Most likely, if you're removing a custom transport or adapter, you will also want to delete any connectors that used that transport or adapter. Lastly, to register a custom transport (or adapter), you do not have to do both steps you mention. You can *either* place the .jar in the /deploy folder manually *or* use the register in Manager, which just does the same thing. I personally always use Manager to register a new transport (or adapter). If you have an empty /deploy folder, try using Manager to register your transport. When you look at the deploy folder, you'll notice that the .jar is there. Mark
... View more
01-29-2015
12:39 PM
|
1
|
3
|
957
|
|
POST
|
Hi Justin, Your ideas are pretty much accurate. You would first need your Postgres database to contain feature classes (as opposed to just standalone tables). These would be served as feature services via ArcGIS Server. In GeoEvent's Manager web app (it looks and behaves very much like ArcGIS Server's Manager), you would set up a new Data Store and point that to your ArcGIS Server. In GeoEvent's Manager, you would then create a new GeoEvent Input of "Poll an ArcGIS Server for Features". This is where you set the refresh interval of the polling, what layer to poll, if you only want to retrieve "new" features, etc. Regarding serving map services, the easiest way is to use a GeoEvent "Add a feature" or "Update a feature" output. "Add a feature" simply appends a feature class with GeoEvents (again, via an ArcGIS Server feature service) that came out of a particular GeoEvent service. "Update a feature" simply updates an existing feature with the new values (including geometry) that came out of a particular GeoEvent service. The feature class being appended or updated is a regular ArcGIS Server map/feature service layer, so most ArcGIS Server functionality is available (probably with the exception of any GDB version-related stuff). Hope this helps. Mark
... View more
09-08-2014
07:48 AM
|
2
|
0
|
631
|
|
POST
|
Here's the list: Contains Crosses Disjoint Enter Equals Exit Inside Intersects Outside Overlaps Touches Within Exists Isnull Yes, the stream service is coming out at 10.3. It's a new ArcGIS Server service type (like MapServer, FeatureServer, etc) that's fed data directly by the GeoEvent Extension via web socket technology. The stream layer has been in the JavaScript API for a while now, but it's not in any other Esri clients (yet). Stream layer adoption is supposed to happen in other Esri clients gradually (I'm not in Esri core development, I'm just relaying what I've heard). I also know others in core who have not yet been tasked with stream layer adoption work, so for some clients, it may be a while. Again, I am not in core development, so this is all subject to change. Please don't quote me and get me in hot water. J Stream layers will be fed data by the stream service. The stream service is not a stream layer itself, it just makes creating and using the stream layer easier (again, only in JS API as of now). The stream layer can make certain requests of the stream service, like "only give me data in this geographic extent”, "only give me data that satisfies such-and-such where clause”, "only give me data from a, b, and c fields” (where the layer may have many more fields than just those three). So the stream layer and stream service work together to maximize efficiency and only pass data on the wire that's requested. To limit data in this manner currently, everything would need to be sent to the client, and then the client would need to handle all filtering ‘manually' - expensive and inefficient. Regarding experimenting with the stream service now, I think it's too early, I'm not sure how you'd get your hands on it. However, working with the current GeoEvent output "Publish JSON to a Web Socket” can give you a handle on what it's like to work with data sent via web sockets. The stream layer actually needs a specific format of JSON ("feature JSON”) coming from a web socket. To output feature JSON, you have to create a new connector in GeoEvent to spit out this format. I do not mean building a new connector using the API. You can build this new "feature JSON” output connector using the out-of-box GeoEvent components. If you need to know how to do that, let me know.
... View more
08-06-2014
08:43 AM
|
3
|
0
|
1683
|
|
POST
|
I don't think so - not unless it wholly falls within a geofence polygon. Can you make the polyline into points? Or smaller polylines? Trying to think of ways to get around the wholly inside necessity...
... View more
07-30-2014
12:38 PM
|
0
|
0
|
1683
|
|
POST
|
Hi Nicholas/Ryan(?), At GeoEvent 10.2.x, poly-on-poly is not a supported geometry operator unless one of the polygons falls wholly within the other, which would trigger INSIDE or ENTER (if the previous poly was outside). At 10.3, the list of spatial operators has been significantly expanded, and you will be able to do what you are describing. Mark
... View more
07-29-2014
03:03 PM
|
0
|
4
|
1683
|
|
POST
|
Hi Rob, Yes, this is possible in one of two ways (at least that I can think of). #1. If your parcel layer's parcel polygons will always contain the location of a garbage truck at any particular time, you could use your parcels as geofences in GeoEvent Processor, and rely on the Geotagger processor to obtain the address. When each message comes into GeoEvent Processor with an x,y coordinate, the Geotagger processor can obtain the address from the parcel polygon in which the truck's x,y coordinate is located (point-in-polygon). This depends on some things and may not be feasible: 1: a garbage truck must be inside a parcel polygon when the event is created, 2: your parcel layer must be of a manageable size for GeoEvent Processor to handle the polygons as geofences. I do not know of any official limits, so you'd have to experiment. Regarding the trucks always falling within a parcel polygon, this would require your parcel boundaries to extend to the street centerlines, and also depend on the accuracy of the location device in each truck. If your parcel boundaries end at the curb (which is common), then a truck on the street wouldn't fall in a parcel boundary, which would make this whole method not feasible. If the parcel boundaries do meet at the street centerlines, but the accuracy of the truck location devices is questionable, then an incorrect parcel polygon may be selected by the point-in-polygon process executed by the Geotagger processor. #2. You could call an external reverse geocoding service to retrieve the street address using the x,y coordinate. This is not out-of-box yet, but I know a lot of people have requested it. There could be a custom processor on GitHub that does this, and RJ may be able to speak of any plans the GEP team may have to build processors to make external calls and consume the results. Mark
... View more
05-23-2014
06:27 AM
|
0
|
0
|
619
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 09-09-2016 09:23 AM | |
| 1 | 01-29-2015 12:39 PM | |
| 1 | 11-08-2016 10:15 AM | |
| 1 | 09-09-2016 08:51 AM | |
| 1 | 06-13-2016 02:58 PM |
| Online Status |
Offline
|
| Date Last Visited |
11-11-2020
02:23 AM
|