cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - When posting, your subject should be specific and summarize your question. Here are some additional tips on asking a great question. X

How set locatoin deviation?

CHASEONHO
18-Opal

How set locatoin deviation?

can i make this capture ussing subscription?

cause i use add value stream entry

so, doesn't work property alert

then, i want make this alert in subscription

Or could help me set the radius around with longitude and latitude

if i want  set surrounding radius value {35.xxxx,127.xxxx }around 1km

and i want change 35.xxxx,127.xxxx -> address

plz help me hehehe

10 REPLIES 10
supandey
19-Tanzanite
(To:CHASEONHO)

Hi Seonho, sorry I may not have fully understood your requirement, are you looking to create GeoFence with your data? something like this

No

i want get address value base on longitude,latetude

if i got 39.773844,-89.643711 . i get USA Illinois Springfield base on that value

thanks

i don't need geoFence yet

AnnaAn
13-Aquamarine
(To:CHASEONHO)

Dear seonho Cha,

One solution I could imagine is to customize an extension of your own.

In the Java Extension you could utilize the Google open API to get Address inforamtion based on a Location.

Sample code like this:

@ThingworxServiceDefinition( name="GetAddressFromLocation", description="get address from a location" )
@ThingworxServiceResult( name="Result", description="Result", baseType="STRING" )
public String GetAddressFromLocation(
   @ThingworxServiceParameter( name="longitude", description="", baseType="NUMBER" ) Double longitude,
   @ThingworxServiceParameter( name="latitude", description="", baseType="NUMBER" ) Double latitude
   ) throws Exception {

  String address = GetLocationMsg(latitude,longitude);
  return address;
}

public static String GetLocationMsg(double latitude,double longitude){

  String message = "";
          String url = String.format(
              "http://maps.google.cn/maps/api/geocode/json?latlng=%s,%s&language=CN",
              latitude,longitude);
          URL myURL = null;
          URLConnection httpsConn = null;
          try {
              myURL = new URL(url);
          } catch (MalformedURLException e) {
            e.printStackTrace();
          }
          try {
              httpsConn = (URLConnection) myURL.openConnection();
              if (httpsConn != null) {
                  InputStreamReader insr = new InputStreamReader(
                          httpsConn.getInputStream(), "UTF-8");
                  BufferedReader br = new BufferedReader(insr);
                  String data = null;
                  while ((data = br.readLine()) != null) {
                  message = message+data;
                  }
                  insr.close();
              }
          } catch (IOException e) {
              e.printStackTrace();
          }
  return message;
  }

This will return a JSON address message, you could then parse this JSON file for the exact address you want.

Thanks,

Br,

Anna

i don't know how to use geocoder, and json...

could you please help me ..?

if you know, how i can use geocoder?

i want use reverse geocoder

thanks,

AnnaAn
13-Aquamarine
(To:CHASEONHO)

Dear Seohno Cha,

Firstly you could create a service in Thingworx composer, say, getAddString Service.

Then you could code in the Service like:

//var url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=39.773844,-89.643711";

var url = "http://maps.googleapis.com/maps/api/geocode/json?latlng="+latitude+","+longitude;

var params = {

  proxyScheme: undefined /* STRING */,

  headers: undefined /* JSON */,

  ignoreSSLErrors: undefined /* BOOLEAN */,

  useNTLM: undefined /* BOOLEAN */,

  workstation: undefined /* STRING */,

  useProxy: undefined/* BOOLEAN */,

  withCookies: undefined /* BOOLEAN */,

  proxyHost: undefined/* STRING */,

  url: url /* STRING */,

  timeout: undefined /* NUMBER */,

  proxyPort: undefined/* INTEGER */,

  password: undefined /* STRING */,

  domain: undefined /* STRING */,

  username: undefined /* STRING */

};

var json1 = Resources["ContentLoaderFunctions"].GetJSON(params);

var result = json1.results[0].formatted_address;

input:

latitude:NUMBER

longitude:NUMBER

output: STRING   

Hope this helps,

Br,

Anna

it's really helpful

i'm sorry to late comment

cause i had some problem..

that was error

still yesterday it was great

but now

... How to fix it?

can you help me please..?

AnnaAn
13-Aquamarine
(To:CHASEONHO)

Dear seonho cha,

What's the difference between your visiting ThingWorx the last time it was working fine and the last time it was not working fine(got the error you attached above)? For example, did you use https://<IP>:<PORT>/Thingworx/Composer to access thingworx when it failed? do you visit with unsecure visit like http://<IP>:<PORT>/Thingworx/Composer to visit Thingworx when it succeeded to execute GetJSON?

Or, did you use a different JDK to run ThingWorx between the two tests?

What's the OS you are running ThingWorx instance? Linux or Windows?

From the error, I googled it:Unable to Access SSL Services due to java.security.InvalidAlgorithmParameterException - Atlassian Documentation

It looks like The JVM cannot find the javax.net.ssl.trustStore required for SSL, or it does not contain the required certificates.

Please check your environment and have one more test today and let me know of your test result.

please also take reference to this disucussion: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty on Linux, or why is the d…

Thanks,

Br,

Anna

AnnaAn
13-Aquamarine
(To:CHASEONHO)

Dear seonho cha,

Please use HTTP instead of HTTPS which will verify SSL connection.

It works on my side with the url:

var url = "http://maps.googleapis.com/maps/api/geocode/json?latlng="+latitude+","+longitude;

thanks your kind!!

you're angel!! really thanks

AnnaAn
13-Aquamarine
(To:CHASEONHO)

Dear seonho cha,

You are welcome!

Please mark correct answer so we could close this thread

if you have new issue, feel free to open new topic so we will continue assist with your new issues on a new thread:)

Thank you,

Br,

Anna

Top Tags