Monday 21 October 2019

***Volunteer Opportunity*** OSM mapping in response to Typhoon Hagibis in Japan

Dear GISCorps Volunteers,

The Humanitarian OpenStreetMap Team (HOT) is looking for digitizers and validators to support their response to Typhoon Hagibis in Japan. There are currently four building-only tasks that are designed for beginner mappers. As always, detail-oriented validators are in high demand.

Typhoon Hagibis Tasks:

https://tasks.hotosm.org/contribute?difficulty=ALL&text=Hagibis

Please remember to add #GISCorps to all your changeset comments.

If you’re not a HOTOSM mapper yet but would like to join, here’s a great place to start: https://tasks.hotosm.org/learn
__________________________

We have a new HOT Project page on our website if you haven’t seen it. There you can see current HOT projects that GISCorps is activated for, as well as a link to our new ‘HOT Volunteer Hours’ form if you would like a certificate and credit toward your GISP - https://www.giscorps.org/hot-projects/.

Here’s a direct link to the HOT Volunteer Hours form (please include a valid link to your HOTOSM profile so that we can verify your contributions): https://forms.gle/sgH5tTaFdYbR2neC8

Thanks for all you do!
GISCorps Recruitment Team

Wednesday 25 September 2019

GIS Corps Volunteer Assignment - Mobile Data Collection Application

Dear GISCorps Volunteers,

The SEA People is requesting one GISCorps volunteer to help design and implement a Mobile Data Collection Application and backend data structure for a citizen science initiative monitoring marine conditions and species during dives by commercial guides in the Raja Ampat Marine Park, Indonesia.  The SEA People is a not-for-profit community organization based in France that is dedicated to environmental education, protection and conservation of coral reefs. This association works in Indonesia, in the archipelago of Raja-Ampat, based in Wasai, in the Dampier Strait. This region is interesting for the richness of the marine species that it shelters and for the state of conservation of the ecosystems that it shelters.

The GISCorps volunteer will assist in building a Mobile Data Collection App that will be used by dive guides in the Raja Ampat Marine Park. The application will be part of the “Eyes on the Reef” project to assess and monitor the impacts of tourism on the marine ecosystem in the park. The application will collect information about the location and number of important marine species as well as the conditions at the time of the observations. The application will need to be designed so that it can be rapidly filled out on a mobile device after completion of a dive. In addition, the volunteer will help manage the ArcGIS Online organization and build dashboards that help to display and rapidly communicate the results of the data collection to stakeholders.

Qualifications:

• Advanced skills in ArcGIS Online (AGO) including experience in the following:
 -Survey123/Quick Capture/Collector
 -Working with hosted feature layers including domains and related tables
 -Creating operations dashboards
 -Administering AGO organizations (creating user accounts, roles, and privileges)
 -Experience creating visually appealing and intuitive applications on desktop and mobile devices is desired.
• Advanced experience with designing databases, specifically in relation to field data collection
• Experience with quality control and assurance in database design
• Excellent verbal and written communication skills

Duration: The volunteer shall commit to 5-7 hours per week for an approximate duration of six months.

Software: The AGO environment will be provided by the SEA People.

Type of mission: this mission does NOT require traveling and can be conducted remotely. The volunteer will use their own hardware and will work closely with the SEA People representatives in France or Indonesia throughout the project via email and web conferencing. French and Bahasa Indonesia language skills are not required.
If you are interested and available, please send an email with “Eyes on the Reef” in the subject along with your resume to [email protected] by Thursday, October 3, 2019.

Regards,

Monday 17 June 2019

Create UNIX timestamp for ArcGIS Server Feature REST API

When you feed or update datetime column in ArcGIS REST API the current date and time has to be in UNIX epoch milliseconds.

In Python this is the easiest way to do:

int(time.time())*1000
The *1000 is required to get the milliseconds from the seconds. Obviously this way is only accurate to the second...if you want to gain more precision you should perhasp go with this:
float(time.time())*1000
With this methodology you will not loose the milliseconds due to integer rounding.

Friday 14 June 2019

Cannot convert a value of type \'java.lang.String\' to \'TIMESTAMP\'

The ArcGIS REST API just needs an epoch time bigint - so convert it to numbers.

To check the values this site works:
https://currentmillis.com/



How to prepare JSON payload for ArcGIS Feature Service using Python

There you have it - this is just a dump from my code - purely to remind myself...

What it does it creates a point array then using Python it puts this payload to an ArcGIS Feature Service.


ptemp = {}
... print type(ptemp)
... ptemp["attributes"]={}
... ptemp["attributes"]["objectid"]=1
... ptemp["attributes"]["s"]=223
... ptemp["attributes"]["a"]="a val"
... ptemp["attributes"]["n"]="n val"
... ptemp["attributes"]["b"]=123
... ptemp["attributes"]["p"]="p val"
... ptemp["attributes"]["g1"]=11
... ptemp["attributes"]["g2"]=22
... ptemp["attributes"]["g3"]=33
... ptemp["attributes"]["g4"]=44
... ptemp["attributes"]["g5"]=55
... ptemp["geometry"]={}
... ptemp["geometry"]["x"]=152.95359856272353
... ptemp["geometry"]["y"]=-23.461733290059232
... ptemp["geometry"]["spatialReference"]={"wkid" : 4326}

So we created the ptemp dictionary object with point parameters.

>>> url = config["serviceurl"]+"/0/addFeatures?token={}&f=pjson"
... token = getToken("uname", "password")
... url = url.format(token)

Now we acquired the token and added to url.

>>> pptemp = []
>>> pptemp.append(ptemp)

Now we just put the dictionary to a list - this needed for the ArcGIS Feature Service.

pt = urllib.quote_plus(json.dumps(pptemp))

Now we created an encoded payload from json string.
st='features='+pt
st=st+'&gdbVersion=&rollbackOnFailure=true&f=pjson'
...and finally we send all of these to the ArcGIS Feature Service in a POST request:

>>> request.add_header("Content-Type",'application/x-www-form-urlencoded')
>>> request = urllib2.Request(url, data=st)
>>> connection = opener.open(request)
>>> connection.readlines()

Monday 11 March 2019

Manuscript Map of Cairo - art and navigation in one page

Throughout my lunchtime browsing I found this really nice looking map of Cairo. The original is from the Book of Navigation or something. If you like nice, colourful maps then you will like this a lot no doubt...


I particularly like those small palm-trees around the river and oasis...they really give a unique touch to the map as it is.

How to make ArcGIS Diagrammer to work on systems with ArcMap 10.3+

ArcGIS Diagrammer is a pretty good - if not the only - visual database design tool that can help you create complex geodatabase models.

ArcGIS Diagrammer in Action
ArcGIS Diagrammer in Action

Unfortunately if your ArcMap installation is higher than 10.2 then you will see an error when you try to run ArcGIS Diagrammer after installation. Regrettably ESRI doesn't want to officially support Diagrammer anymore.

The solution however is very simple. There are a bunch of dll files that you need to copy to the BIN folder under your Diagrammer installation folder (in windows its normally C:\Program Files (x86)\ArcGIS Diagrammer).

After you copied these dll's into the BIN folder just start Diagrammer as you would normally do and voila...it will work.

Just click to the ArcGIS Diagrammer DLL text to download the zip file.

Enjoy