Wednesday, 28 April 2021

arcpy.Copy_management misses out database schemas from path

 This is what I have just encountered today. When I add the second parameter to the arcpy.Copy_management toolbox the actual filename must not contain point characters (which is related to schema names). 

So for instance, if you try to copy a mosaic dataset from r"d:\SDEConnections\myconnection.sde\super.data.mymosaic_dataset" to a location of r"d:\tempfgdb\super.data.mymosaic_dataset" after running this toolbox you will end up with a copied mosaic dataset in your destination but without schmea names - in this case this would be r"d:\tempfgdb\mymosaic_dataset".

Solution/workaround is - don't try to copy schema names. 


Monday, 22 March 2021

Where is Create ArcSDE Connection File toolbox gone from ArcMap 10.8.1?

Good question, isn't it? ESRI decided that you will not be able to connect to an ArcSDE instance from ArcMap 10.7 onwards. Its a way too old architecture, so it should be revised and deprecated in favour of the same product that is wrapped into a different framework. 

ITs a bit of a shame if your corporate architecture has multiple running instances - seems like you will be spending a lot of money to replace this if you want to enable users to connect to the database via this engine.

What is going to be the next ESRI? Deprecating the database connection tools only allowing your fancy cloud datastore or something similar? Or even better - no database conenction should be allowed from ESRI at all!!! Either you connect to a ArcGIS service or buzz off. 

Now you have to pay me for this good idea...

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