Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Topology Plugin Added #356

Closed
wants to merge 5 commits into from

9 participants

@vinayan
Collaborator

Created a plugin for checking Topologies..an improvement on a previously unreleased work on Martin Dobias' repository, https://github.com/wonder-sk/topol

Note: forgot to add the below line to src/plugins/Cmakelist.txt
ADD_SUBDIRECTORY(topology)

@slarosa
Collaborator

Very cool !
I am testing it and looks good to me !

Thanks !

@slarosa
Collaborator

Only a little note,
the button "Validate selected" not match in dimension with the other buttons, nuts :-) !
Works wonderfully !

I'll do rather test in next days and back for feedback !

@vinayan
Collaborator

the UI surely needs some modifications..also the topology rule names and button labels need to be better i think..will be updating..

@slarosa
Collaborator

ah ok, I see, the different dimension is due to missing icon for mValidateSelectedButton !
I guess it should look like the image below, right ?
topoUI

BTW, great work !

@giohappy
@vinayan
Collaborator

Thanks for your comments ... actually,I only did about 5% of the total tool..but more rules will be added soon..
@slarosa - mmm..not sure if those icons would fit in there..this is how it looks here...

Selection_004

also i think the "Test" in the configure window should be called "Rule" or something like that to make it look good :)

@slarosa
Collaborator

Hi,

also i think the "Test" in the configure window should be called "Rule" or something like that to make it look good :)

I agree, Rule is better that Test !

vinayan added some commits
vinayan fixed issues in duplicate rule where zooming was not possible..rename…
…d 'Test' to 'Rule'
e6d7aed
vinayan fixed minimum segment length rule
renamed rules to meaningful descriptions
d09cb89
@wonder-sk
Collaborator

@vinayan Great to see revival of that plugin. I remember the plugin was somehow working, but not yet ready for general use. The GUI needed some polishing and there were just very few basic rules. Feel free to do some more improvements to the plugin!

(sorry I have no time to play with it these days - but hope that others do)

@mach0
Owner

Perfect to see a topology test comming - I already missed that feature .. I hope it will make it into 2.0 ..
If I can help in any way just tell me ...

@vinayan
Collaborator

Currently I am trying on adding the below rules. If there are more important rules, please suggest..

  • must not have pseudo Nodes
  • must not overlap within same layer(polygons)
  • must not intersect within same layer(lines, for proper noding of street networks)
@gioman

I don't know if the following rules would fit the scope of this tool, but they would be very useful:

  • must not have spaces between polygons within the same layer
  • must not contain polygons with area = 0
@NathanW2
Collaborator

Can I suggest that rather then a plugin that we make this a core feature of QGIS.

@gioman

I agree, this is (was) one important missing feature of qgis and I can't wait to see it into core qgis. By the way, can someone accept this pull request? There are persons that are willingly to test this new feature but are not able to compile the code.

@NathanW2 NathanW2 was assigned
vinayan Added new rule "Must not have pseudos" for line vector layers.
Renamed rules to more understandable descriptions.
Handled WKB::MultilineStrings in line shapefiles in hanging lines rule that caused crashes.
282f695
@vinayan
Collaborator

There are some basic issues which I didn't notice till now with the plug-in. The 'Validate Extent' is working without considering an extent and there are some unwanted duplications that slows up things. Also there are some deprecated API usage.I think I was a little too quick to issue this pull request.I can close this request myself if it is not an issue with all of you. I would be coming back in a week with a new pull request or commits, user doc and mail announcing release to dev list.

Thanks
Vinayan

@NathanW2
Collaborator

Did we decide to make this a core QGIS feature rather then a plugin. I think that would be ideal. I would like to discourage core plugins in the future as they don't serve much purpose.

@vinayan
Collaborator

@NathanW2 What is the difference between a core plugin and core feature? Will this have to undergo a big change to make it a feature? plugin is the easiest thing for me to work on without touching too much :)

@gioman

QGIS ships with a number of C++ plugins, that can be managed as any other plugin in the "manage plugin" dialog (by the way... many of those c++ plugins should really be turned into core features). A core feature does not show in that list. I agree with Nathan that your tool should not show as a plugin, but really as an (important) component of any qgis installation.

@mach0
Owner
@NathanW2
Collaborator

I think a feature like this could be made a core feature but something like the globe is nowhere near stable enough to be included as a always on feature and should remain as a plugin.

@vinayan
Collaborator

closing..needs some more work for stability

@vinayan vinayan closed this
@gioman

Are you going to submit the code anytime soon? Thanks in advance!

@vinayan
Collaborator

@gioman - need a couple more days..when is version 2.0 expected?

@NathanW2
Collaborator

@vinayan not in a couple of days anyway. Hopefully around April

@gioman

@vinayan Cool! I'm very happy this tool will be added and I'm willingly to help test it. Cheers!

@gioman

@vinayan Hi! any news about this? Anything I can help test?

@vinayan
Collaborator

@gioman - I've been on it actually.. almost got most of the rules that i see in esri(including 'spaces between polygons' you suggested..)..I would certainly appreciate your help on testing the rules...i will issue a pull request today once i resolve my git issues,which seem to be chasing me all the time :-)

@gioman

@gioman Nice! please let me know when the code has been committed, so I will start testing immediately.

@vinayan
Collaborator

@gioman done!

@tpal

Hi, I am new to github. So, wondering how I can use this plugin from QGIS? I didn't find it under Fetch Plugins. I downloaded the zip file. Do, I need to compile the C++ code to use it? I am not a developer, so it will be helpful to know if there is an easier way to access this great plugin. Thanks!

@vinayan
Collaborator

@tpal - you will need to compile to use it as of now...it is currently under review and testing..

@Jermain

Hi, I am also new user of this site. I download zip file and unzipped. I put this folder on \Quantum GIS Lisboa\apps\qgis\python\plugins. On Fetch plugin, I saw the message "This plugin is broken".
What shoul I do for using this useful tool?? Please give me an advice.

@gioman

@Jermain the plugin is not a plugin :) This tool was added upstream and is now part of QGIS. You must install qgis master to test it.

@Jermain

Thanks for your quick response. Glad to hear that this tool is part of QGIS now. But, I could not find function from QGIS itself. From where can I use topological check function??

@mach0
Owner

This tool is not available in QGIS 1.8 Lisboa

It will be in the upcoming release.
There is no way to install it in QGIS 1.8 because it uses functions of the new API.
If you want to test it you have to install developer/nightly builds of QGIS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Dec 12, 2012
  1. added files for topology plugin

    vinayan authored
Commits on Dec 15, 2012
  1. fixed issues in duplicate rule where zooming was not possible..rename…

    vinayan authored
    …d 'Test' to 'Rule'
Commits on Dec 16, 2012
  1. fixed minimum segment length rule

    vinayan authored
    renamed rules to meaningful descriptions
Commits on Dec 29, 2012
  1. Added new rule "Must not have pseudos" for line vector layers.

    vinayan authored
    Renamed rules to more understandable descriptions.
    Handled WKB::MultilineStrings in line shapefiles in hanging lines rule that caused crashes.
Something went wrong with that request. Please try again.