fobermaier / dotspatial.plugins Goto Github PK
View Code? Open in Web Editor NEWSet of plugins/application-extensions for DotSpatial
Set of plugins/application-extensions for DotSpatial
After replacing the WebMap plugin with the BrutileLayer implementation, The OSM (Mapnik) TMS provider is shifted by about 100m south-west if we overlay our application features..
We moved on to the BrutileLayer implementation so we can use the dutch PDOK services and solve issues with our feature overlays using DutchRD projection.
Now on PDOK background everything is just perfect for our Dutch applications but for those outside the Netherlands our overlay is shifted when using OSM Mapnik TMS ;-)
I will investigate further next week, at first sight it looks as if the Projection reported by the TMS service for Mapnik is inaccurate (I did set the projection of the MapControl to the one reported by the BrutileLayer to make sure no reprojection of the tiles is needed, but now something is wrong with the reprojection of our feature layers)
I got a new laptop recently, so i just tried to download the sources (zip file) and build the BrutileLayer project from scratch;
A few issues:
I would like to fix this to make the project more accessible for others but i am not sure if Frank would agree if i do this in the main branch, i can fork it of course ?
Hello,
How can I add a .mbtiles file directly to DotSpatial Map without a dialog form??
There is no documentation about this pluging.
I made a demo project using DotSpatial and Brutile Layer and tried to put brutile as basemap and shape as vector layer.
It suppose to make a reprojection but doesn't seems to work good.
When I made the same excersise in SharMap , I need to manually set the CoordinateTransformation for every layer. Does DotSaptial has something similary?
Carlos Garcia
Hi Felix,
As I need to correct some bugs in my application I switched to DS1.9 using the actual changeset
https://github.com/DotSpatial/DotSpatial/tree/5fcdd48792659b71b06458b8843e68486d07699e
In this set some expression errors are fixed.
In this set the DotSpatial.Topology is not included it use the DotSpatial.GeoAPI
I downloaded your last DotSpatial.Plugins.BruTileLayer version for 1.9 and compiled with DS 1.9 from the nuget package of DS
But somthing seems diferente between the two 1.9 versions.
I get an error at the DotSpatial.Controls.MapFrame.cs
// First draw all the vector content
foreach (IMapLayer layer in Layers)
{
if (layer.VisibleAtExtent(ViewExtents)) layer.DrawRegions(args, regions);
}
System.MissingMethodException was unhandled by user code
HResult=-2146233069
Message=Método não encontrado: 'DotSpatial.Topology.Coordinate DotSpatial.Data.Extent.get_Center()'.
Source=DotSpatial.Plugins.BruTileLayer
StackTrace:
em DotSpatial.Plugins.BruTileLayer.BruTileLayer.DrawRegions(MapArgs args, List1 regions) em DotSpatial.Controls.MapFrame.Initialize(List
1 regions) na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Controls\MapFrame.cs:linha 322
em DotSpatial.Controls.MapFrame.Initialize() na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Controls\MapFrame.cs:linha 356
em DotSpatial.Controls.MapFrame.ResetBuffer() na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Controls\MapFrame.cs:linha 285
em DotSpatial.Controls.MapFrame.set_ViewExtents(Extent value) na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Controls\MapFrame.cs:linha 807
em DotSpatial.Controls.MapFrame.LayerColection_LayerAdded(Object sender, LayerEventArgs e) na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Controls\MapFrame.cs:linha 1272
em System.EventHandler1.Invoke(Object sender, TEventArgs e) em DotSpatial.Symbology.LayerEventList
1.OnLayerAdded(Object sender, LayerEventArgs e) na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Symbology\LayerEventList.cs:linha 368
em DotSpatial.Symbology.LayerEventList1.OnIncludeComplete(T item) na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Symbology\LayerEventList.cs:linha 241 em DotSpatial.Serialization.BaseCollection
1.Add(T item) na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Serialization\BaseCollection.cs:linha 67
em DotSpatial.Controls.MapLayerCollection.Add(IMapLayer layer) na C:\Dev\Source\DotSpatial-5fcdd48792659b71b06458b8843e68486d07699e\Source\DotSpatial.Controls\MapLayerCollection.cs:linha 120
em _xmlGeo01.Form1._buttonAddOSMLayer_ExecuteEvent(Object sender, ExecuteEventArgs e) na C:\Dev\Source\DevXmlGeo01\DevXmlGeo01_v19\Form1.vb:linha 2191
em RibbonLib.Controls.Events.ExecuteEventsProvider.Execute(ExecutionVerb verb, PropertyKeyRef key, PropVariantRef currentValue, IUISimplePropertySet commandExecutionProperties)
InnerException:
Trying to compile the DotSpatial.Plugins.BruTileLayer with the
https://github.com/DotSpatial/DotSpatial/tree/5fcdd48792659b71b06458b8843e68486d07699e
set, I get an error message in relation of coordinates in your code.
If you have any idea how to solve this please let me know.
Thank you
Thomas Erbacher
Opened the solution it in Visual Studio 2015 and tried to build. Problem with Nuget packages, but when trying to restore them there is an error message saying "Unable to find version '1.0.1195' of package 'Dotspatial.Plugins.Menubar' ". Similar message in VS 2013.
Do you plan to make plugin for Dotspatial Version 1.9?
Hi if I upgrade the Brutile Version from 0.18.2 to 0.21.1 or 0.21.0 or 0.19.0 I get the following error
Severity Code Description Project File Line Suppression State Error CS0535 'TileSourceWrapper' does not implement interface member 'ITileSource.Attribution' DotSpatial.Plugins.BruTileLayer C:\Users\User\Downloads\DotSpatial.Plugins-master\DotSpatial.Plugins-master\DotSpatial.Plugins.BruTileLayer\Configuration\TileSourceWrapper.cs 5 Active
Reprojecting tiles doesn't always work when calling zoom to extent.
Either only part of it is displayed or nothing.
A solution might be to split the drawable region into tiles itself
A null-reference exception occurs on line 129 in ucWmtsLayerConfiguration.cs when connectiong to this url:
GetLegendItem tries to get an image of the top level tile(s).
Building the list of tiles that are needed fails with OutOfMemoryException
Hi,
I am using the DotSpatial.Plugins.BruTileLayer in C# Windows Forms i am getting the the Type load exception.
Below is the my code:
BruTileLayer baseMap = BruTileLayer.CreateKnownLayer(BruTile.Predefined.KnownTileSource.BingAerial, "");
Exception Message:
System.TypeLoadException: 'Method 'DrawRegions' in type 'DotSpatial.Plugins.BruTileLayer.BruTileLayer' from assembly 'DotSpatial.Plugins.BruTileLayer, Version=1.7.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.'
Thanks
When trying to build the latest version there is an error in FeatureSetFromSqlServer.cs, "saying Cannot resolve NetTopologySuite", line 17:
GeoAPI.GeometryServiceProvider.Instance = new NetTopologySuite. NetTopologySuite.NtsGeometryServices.Instance;
Obviously there is a typo, changing it to
GeoAPI.GeometryServiceProvider.Instance = NetTopologySuite.NtsGeometryServices.Instance
solves it.
Hi, I've just tried to use DotSpatial.Plugins.BruTileLayer.dll with DotSpatial 1.7 and it works very well. I have one question. The method BruTileLayer.CreateOsmMapnicLayer(); still works but is labeled as deprecated. What's the new way of adding an OpenStreetMap tile base map?
When i allow studio to break on (handled) run-time exceptions i see a lot of these:
Cross-thread operation not valid: Control (scrVertical) accessed from a thread other than the thread it was created on.
I took a peek at the source of the WebMap plugin included with DotSpatial, there MapFrame.Invalidate() is called instead of BrutileLayer.Invalidate() and indeed, this seems to work well !
If I am on a slow (8Mbit ADSL) connection using either the dutch (PDOK) tile service or Mapnik (osm) at some point if I zoom and pan quite aggressively, the _activeTileRequests queue becomes more than say 100-200 tiles long and as soon as a timeout error occurs in brutile.dll, the TileFetcher seems to choke.
Now if the user continues to pan and zoom even more waiting for a response, the TileFetcher keeps on retrying the tiles in this long queue even if most of these may no longer be in the viewextent the user is looking at.
I think this can be improved a lot by cancelling all the tiles in the queue that are either on a different zoom level or outside the requested ViewExtent every time the ViewExtent changes ? this way no time is wasted trying to load tiles outside the current View.
Hello
I was trying to load map from PostgreSQL/PostGIS database. My table is as below
CREATE TABLE public.parcel ( gid integer NOT NULL DEFAULT nextval('parcel_gid_seq'::regclass), objectid integer, objectno integer, shape_length numeric, shape_area numeric, note character varying(200), geom geometry(Polygon) )
How can I load the table's geom field into the map?
Where can I get the sample implementation?
In BruTileLayer.cs line 224, the projection info is retrieved usng the srs code from the tileSource.Schema.Srs string. This code for example has value urn:ogc:def:crs:EPSG:6.18.3:3857. The code is passed to DotSpatial.Projections.AuthorityCodeHandler.Instance[src]. It appears to me that AuthorityCodeHandler does not handle this kind of format but expects a string such as "EPSG:3857", so the returned projectionInfo is always null, at least in the cases I have tried. In BrutileLayer the projection EPSG:3857 is set be default if the projectionInfo is null.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.