Giter VIP home page Giter VIP logo

tilepackagekreator's Introduction

Tile Package Kreator

App

Tile Package Kreator is a desktop utility that guides you in creating Tile Package files. Tile Package files are used by out of the box mobile apps like ArcGIS Survey123, ArcGIS QuickCapture, and ArcGIS Collector to take basemaps offline. Custom apps built with the ArcGIS Runtime SDK can also work with Tile Package files. Typically, Tile Package files are used to help bring basemaps for offline use.

How to use the app

You can download the app from these urls

http://links.esri.com/esrilabs/tile-package-kreator-windows

http://links.esri.com/esrilabs/tile-package-kreator-mac

http://links.esri.com/esrilabs/tile-package-kreator-ubuntu

Or directly from the Microsoft Store.

Once downloaded on your Mac, Windows or Ubuntu Linux system, Tile Package Kreator will let you login into your own ArcGIS organization (ArcGIS Online or ArcGIS Enterprise) and easily define your area of interest as well as the number of levels of detail for your offline map. You can define an area of interest based on a rectangle or along a predefined linear feature such as a road, river, pipe etc. Tile Package Kreator will request the creation of the Tile Package file from the selected Tiled Map service and let you store it locally or in your own ArcGIS organization. Once a Tile Package file is created, it can be used with ArcGIS Survey123, ArcGIS QuickCapture, and ArcGIS Collector as well as ArcGIS Pro, ArcMap and custom apps built with the ArcGIS Runtime SDKs.

Download this PDF document for a handy help guide for using Tile Package Kreator.

Requirements

AppStudio for ArcGIS is required to compile the code in this repo.

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue.

Contributing

Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing

Copyright and License

Copyright © 2021 Esri Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE file.

tilepackagekreator's People

Contributors

marikavertzonis avatar slibby avatar spatialdude avatar stephenquan avatar uabeysinghe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tilepackagekreator's Issues

Display file size of TPKs

Enhancement request:

Display the file size of TPKs when viewing TPKs under the BROWSE operation, as seen below:

cc6b1168-b628-11e6-825a-dee79f62aff7

Note: PortalSearch results are used and always seem to return "size": -1, for each service making it impossible to display an accurate size for TPKs.

Remember Manually Entered Tile Services

Provide the ability to remember manually entered tile services so that they appear everytime the user uses the application. Also provide a method for deleting it via the tile service context menu.

Related to #2

Ability to drag and drop geojson onto map with path / envelope information

This is slightly related to #3

If a user has a geojson file (or an esri json) file with geometry information, then they should be able to drag it to the map and have the path drawn on to the map for them to use in order to export tiles.

References

View Local Tile Packages

Complement the other 3 functions of the Tile package tool with the ability to VIEW Local Tile Package. This would be very useful to validate that an existing tile package services a desired area at appropriate scales.

This choice would lead to a gallery similar to other others already in the app that should only local tile packages. The gallery would also include a field that shows the tile packages path in use with a button to allow the user to select a different folder.

Note: Basic example of this can be found in the Tile Package Viewer app

Sign in error to ArcGIS Online and Portal

Cannot sign into ArcGIS Online org or Local Portal and getting the error in attachment.

Vaguely remember receiving a similar error message on Survey123 Connect. May have to do with proxy settings?? It was fixed in Survey123 Connect a while ago.

2017-02-24_090449

Extent fields

Add fields to show current extent coordinates and be able to manually enter values

e.g. From ArcGIS Pro

f1ea7a4c-4f39-11e6-8d2e-4a6fddb21df8

This is useful important when create tile packages that match exact map sheet boundaries.

Coordinates would show in lats/long

Store extents as a bookmarks

Be able to save the current extent as a bookmark. This is useful when generating multiple TPKs for the same area and being able to quick to back to a saved extent.

Simple implementation would be to have 1 saved bookmark and a buttons to set and zoom to it, this would be enough for starters.

Later and fancier implementation could enable you to name the bookmarks, and have a panel of book marks that you can select from or remove.

Manually input a tiled service URL to generate a TPK

Ability to manually point to a service URL of a tiled service.
This might be because I have not registered the basemap as a layer in my AGO account or for whatever reason the crawling through my AGO Account did not pick up on the service.
Could also have better error reporting to user if this fails.
E.g. Could not add service as Export Tiles is not enabled, please refer to the help and contact the data owner to enable this
d4d39706-bd55-11e6-96d8-cf13094fcf87

Allow for zoom level range when exporting

Allow for dynamic options when selecting zoom levels of created tile package. If I am only wanting a tile package at the extent of zoom levels 13-15, I also have to create zoom levels 1-12 along with it. All scales (zoom levels) may not be desired by end user. Here is an example of viewing the published package at scale 2.

Note: This will be much easier to implement when RangeSlider is available with Qt 5.7 and QuickControls 2.0. At this point, to implement will require a custom range slider to be built, or remove the slider all together and just have a text field(s) for entry.

Save / Export map drawing as geojson

Allow user to export map drawing (extent or polyline) as geojson. Add a unique json parameter called "tilepackagekreator" as well that contains relevant information for the application as well.

Malloc / pointer error crashes application on macOS

Application will crash on macOS, specifically will happen when moving between views such as:

  1. Go to Create view
  2. Select a tile service which will take you to the export view.
  3. Go to the History View from the export view
  4. Go back to export view from history view (using back button in top tool bar)
  5. Go back to select a tile service view (using back button in top tool bar)
  6. Go back to start view (using back button in top tool bar)
  7. Select Upload, app should crash.
Application Specific Information:
abort() called
*** error for object 0x7fde6ee88d70: pointer being freed was not allocated

Thread 0:: CrBrowserMain  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff89d4ff72 mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff89d4f3b3 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff8fac3124 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff8fac25ec __CFRunLoopRun + 1356
4   com.apple.CoreFoundation      	0x00007fff8fac1e38 CFRunLoopRunSpecific + 296
5   com.apple.HIToolbox           	0x00007fff9b973935 RunCurrentEventLoopInMode + 235
6   com.apple.HIToolbox           	0x00007fff9b97376f ReceiveNextEventCommon + 432
7   com.apple.HIToolbox           	0x00007fff9b9735af _BlockUntilNextEventMatchingListInModeWithFilter + 71
8   com.apple.AppKit              	0x00007fff92414df6 _DPSNextEvent + 1067
9   com.apple.AppKit              	0x00007fff92414226 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
10  com.apple.AppKit              	0x00007fff92408d80 -[NSApplication run] + 682
11  libqcocoa.dylib               	0x000000011593535f QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2191
12  org.qt-project.QtCore         	0x000000010dbe6051 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 401
13  org.qt-project.QtCore         	0x000000010dbea2f5 QCoreApplication::exec() + 341
14  com.esri.app561a8441825441349a3b1ad23fdaea75	0x000000010d66aa6a main + 7082
15  com.esri.app561a8441825441349a3b1ad23fdaea75	0x000000010d668eb4 start + 52

Can't install 'TilePackageKreator_1_1_2.dmg'

Hi Guys,

I really would like to experiment with the Tile Package Kreator but it doesn't want to install on my Macbook Pro (10.12.3).

It says:
“Install TilePackageKreator” is damaged and can’t be opened. You should eject the disk image."

Anyone got a solution for this?

Cheers!

Display a webmap / feature service as reference on basemap

Add the ability to display a webmap/feature service as a reference when creating a new TPK, to help determine the desired TPK extent. (The webmap/feature service would not be added to the TPK.)

For example, adding a parcels or fire hydrants layer/webmap to ensure that the resulting TPK contains the full required extent.

Return focus to the map with a single mouse click

Whilst creating a new tile package, I have entered the title and zoom levels first and then I want to go to the map and paste a copied json polygon extent. Instead i find that the json is always copied into the title field - that field always retains the focus.

I can click on the polygon or line tool, commence a new extent or path, delete the commenced extent or path and then paste - but that adds many superfluous steps.

A single click on the map should return focus to the map.

Add contact email to feedback form in the app so that a response can be given if requested

Currently you can send feedback on the Tile Package Kreator via a feedback form inside the app. This is one way information. Its good - but there's no way to reply to the user. The user should be able to optionally add an email address, or optionally allow the email address that is associated with the ArcGIS Online account to be used, if they want a reply.

The feedback mechanism we are using is via HockeyApp and if the submitter is a member of the Tile Package Kreator group - they can see all feedback and responses. But for non members there's no way to see the responses to feedback.

This screenshot shows how the feedback looks in HockeyApp. NB: All of the feedback messages have the same 'via Unknown Unknown'...
contactdetails

Exporting from WMTS services

WMTS services will require further research. Currently it is not clear if these type of services that are non-esri allow export tiles via a rest service similar to esri type map services. As this is will require a bit of research in order to see if implementation is possible, this will be moved to the backlog. The pdf spec is attached to this comment.
07-057r7_Web_Map_Tile_Service_Standard.pdf

Base tiling extent on other features

Raised by multiple parties in MEL Holistic Testing Dec. 2016:

  1. Area of Interest(s)
  2. Disconnected AOIs
  3. Navigator route

As a user, I would like to route from my office to my work order location to draw the path along this route, to then buffer and create a TPK from this.

Keep "Export Complete" Message on-screen until dismissed

When exporting tiles, I often switch to another app as it takes a while. When I come back, if the export finished a few minutes earlier, I have no indication that it finished other than returning to a "normal state" - it would be helpful to keep the "finished export" notification banner visible until the user dismisses it.

Expose 'help' for path drawing

When path drawing on the map, there are key combinations that can be used to complete the line, delete vertices, and pan the map. Need to find a way to un-intrusively expose this to the user.

Improve estimated output size by querying server

As per the explanation here
https://github.com/Esri/TilePackageKreator/blob/master/TilePackage/TilePackageEstimateSize.qml
the estimated output size is calculated by the number of pixels divided by tile size. But to get a true estimate the server must be queried.
Instead of continually querying the server - add an option for the user to obtain an improved estimate - so that they have a better idea of the size before pressing the create tile package button.

Allow user to enter buffer radius

Enhancement suggestion: allow users to enter a radius as well as or instead of the slider. The slider seems to skip numbers, e.g. it goes from 483 to 501 and I cannot get it to have a 500 foot buffer.

Should there be an upper limit to the buffer distance?

Upload and Save Local Options

  • When creating locally show filename in a input field. User should be able to type in the filename.
  • Remember folder between sessions
  • Add button to "Show folder". This is to make it easier to go to the output folder after the tile package has been created.

Make coordinates recorded during drawing conform to geojson

Currently, when a user draws on the map the coordinates are stored in an ad hoc application only type of array structure. Would be good to revise this to match a geojson spec so that it geometry can be saved out later for use in other scenarios if necessary.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.