Package Vector

1 view
Skip to first unread message

Helen Francke

unread,
Aug 3, 2024, 4:49:07 PM8/3/24
to netecnnorthhard

The only time that "having the imagery in the vector format would decrease the size and improve performance" is when the data was originally vector and was tiled to raster/image. When that is the case, the benefit comes from going back to the original data and re-tiling as vector tiles instead of image tiles. Taking remotely-sensed data like aerial or satellite imagery and trying to segment or classify it so it can be presented as vector tiles will not turn out well.

If you are only interested in converting a raster to a format that can be downloaded onto Collector then try creating a tile package (TPK) and side-loading that onto the device. Rasters are not support in vector tile packages.

If I am not editing data, then I usually create a TPK of the raster data, then include that in a MMPK with my vector data (with pop-ups and bookmarks) that is easily side-loaded onto Explorer for ArcGIS.

We have been able to sideload map tile packages, but the files weigh in at 119gb. Collector still works, but is very slow and not all that functional. I was hoping having the imagery in the vector format would decrease the size and improve performance.

Coincidentally, right now we're trying something similar, to publish a tile service, upload that to our Portal, then allow people to download chunks of it to Collector for offline use instead of having to side-load. If everything in your map can be offline then this might work for you:

Vector tile packages (.vtpk) are a great way to share and view basemaps in PRO and Collector. These basemaps are an amazing way to quickly view millions of vector features. Presently all the vector features in the Map are converted to vtpk in tiles based on the number of points.

The challenge I see is to keep the size as small as possible while still containing the appropriate vectors. I would like to create vtpk files with data constrained to a specific extent like a county, city, region, district, SAR search area, or an emergency response area for a fire or flood.

There are no environment settings for Create Vector Tile Index or Create Vector Tile Package. The request is to add an environment setting for extent to these two commands, any features that fall outside of that extent would not be rendered in the vtpk. This would limit the size of the resulting basemap without having to clip all features in a Map.

Could you provide a little more information about the types of projects this would be useful in? You mentioned resulting file size, but are there other issues that arise due to the inability to define an extent?

Another use that we are planning on is for wildfire response mapping. We will create an incident specific basemap at least twice a day for fire operations personnel to download and use on the line. We do not need to have the mapped area outside of the fire vicinity and the new tiles need to be as compact as possible.

The Create Vector Tile Package will honor the specified extent of the map. So you can define the extent for the map to control the extent of the tiles that get created when you create a vector tile package from the map.

com.ptc.vuforia.engine
com.unity.2d.entities
com.unity.ai.planner
com.unity.aovrecorder
com.unity.assetbundlebrowser
com.unity.assetgraph
com.unity.barracuda
com.unity.barracuda.burst
com.unity.build-report-inspector
com.unity.cloud.userreporting
com.unity.collections
com.unity.connect.share
com.unity.dots.editor
com.unity.entities
com.unity.film-tv.toolbox
com.unity.google.resonance.audio
com.unity.immediate-window
com.unity.mathematics
com.unity.meshsync
com.unity.multiplayer-hlapi
com.unity.package-manager-doctools
com.unity.package-manager-ui
com.unity.package-validation-suite
com.unity.physics
com.unity.platforms
com.unity.platforms.android
com.unity.platforms.linux
com.unity.platforms.macos
com.unity.platforms.web
com.unity.platforms.windows
com.unity.playablegraph-visualizer
com.unity.render-pipelines.lightweight
com.unity.rendering.hybrid
com.unity.renderstreaming
com.unity.scene-template
com.unity.simulation.client
com.unity.simulation.core
com.unity.simulation.capture
com.unity.simulation.games
com.unity.standardevents
com.unity.streaming-image-sequence
com.unity.test-framework.performance
com.unity.tiny.all
com.unity.transport
com.unity.upm.develop
com.unity.vectorgraphics
com.unity.webrtc
com.unity.xr.googlevr.android
com.unity.xr.googlevr.ios
com.unity.xr.legacyinputhelpers
com.unity.xr.oculus.android
com.unity.xr.oculus.standalone
com.unity.xr.openvr.standalone
com.unity.xr.arsubsystems
com.unity.xr.interactionsubsystems
com.unity.xr.windowsmr.metro

Vectors may be represented in a variety of coordinate systems: Cartesian, cylindrical, pseudorapidity, and any combination of these with time or proper time for Lorentz vectors. In all, there are 12 coordinate systems: x - y vs ρ - φ in the azimuthal plane z vs θ vs η longitudinally t vs τ temporally.

Vector has several examples covering the basics as well as some advanced usage of the library. The example gallerycovers almost all the features offered by vector and any new additions to the gallery are welcomed.

If you are planning to develop vector (thank you!), or if you want to use the latest commit of vector on your local machine, you might want to install it from the source. Refer to our Contributing Guidelines for more information.

I am estimating a model of the kind y= x + s(z) where s(z) is a non parametric function. I want to use bootstrap to get the standard error for the coefficient on x and the confidence bands for the function s(z). Basically the result of my estimation gives a coefficient for x, therefore a 1x1 object, and a vector nx1 for s(z). You can do that by using the gam package (gam) function. For my needs I am using a hand-written function which returns a list named resultfrom which I have result$betaxas the coefficient on x, and result$curve which stores the vector values (the estimation of s(z) gives a set of values corresponding to a curve). I am bootstrapping using the boot package as follows

I guess it should instead gives out a vector of cofficient on x, on which I will compute the standard error, and a matrix nxnof s(z) values, on which I will compute a s.e. for each row, allowing me to have confidence interval for the s(z) curve. I suppose this is related to the fact that the output of my function is given by

Note that the package may not import asset properly when starting Unity with the -no-graphics command-line argument. The package requires graphics when importing assets in texture format, since it will need to render the vector content into the texture asset.

You import SVG files into the Unity Editor like any other assets. Either drop them directly into the Assets folder in the Projects window, or select Assets > Import New Asset from the menu bar. When imported, you can instantiate the resulting assets in the Hierarchy View or the Scene View.

When using Basic, you only need to provide a Target Resolution and a Zoom Factor. Then the importer automatically configures the advanced settings to make sure your SVG document renders at a high enough tessellation for that resolution at that zoom factor.

At the core of the Vector Graphics package is the Scene class, which stores a graph of vector objects. Its Root property is an instance of SceneNode, which contains a list of drawable items, a list of child nodes, a transform and a clipper (see clipping).

The BezierPathSegment array defines a chain of cubic Bzier curves. The above segment specifies only the first point, P0, and two control points, P1 and P2. The Path class uses the P0 value of the next segment in the array to complete the curve. So, you will always need at least two segments to define a valid BezierContour. Using this approach allows the chaining of multiple segments and guarantees the continuity of the curve. For example, consider this path:

When defining a BezierContour with Closed = true, the contour's last path segment will be connected to the first path segment, and the last path segment's P1 and P2 values will be used as control points.

FillMode.NonZero determines which points are inside a shape by intersecting the contour segments with an horizontal line. The direction of the contour determines whether the points are inside or outside the shape:

FillMode.OddEven also works by intersecting the segments with an horizontal line. Points inside the shape occur when an even number of segments is crossed, and points outside the shape occur when an odd number of segments is crossed:

Warning: The clipping process can be an expensive operation. Clipping simple shapes with a simple clipper may perform reasonably, but any complex shape and/or clipper may cause the frame rate to drop significantly.

To render vector graphics elements on screen, first get a tessellated (triangulated) version of the scene. When you have a VectorScene instance set up, you can tessellate it using the following VectorUtils method:

To disable the maxCordDeviation constraint, set it to float.MaxValue. To disable the maxTanAngleDeviation constraint, set it to Mathf.PI/2.0f. Disabling the constraints will make the tessellation faster, but may generate more vertices.

The GenerateAtlas method is an expensive operation, so cache the resulting Texture2D object whenever possible. You only need to regenerate the atlas when a texture or gradient changes inside the scene.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages